tags:

views:

1099

answers:

5

Can i play movie in portrait mode?If yes than how to play?

+4  A: 
ceejayoz
Freakin genious, why hasn't someone suggested this before? By far the most simple solution.
quano
+1  A: 

This has been asked before and is solved here:

http://stackoverflow.com/questions/1374558/mpmovieplayercontroller-in-portrait-mode

be warned that it uses private api's

coneybeare
The comments say that no longer works in 3.0.
ceejayoz
you are right. It looks like you might have to roll your own movie player
coneybeare
sugar
+1  A: 

try to implement this in your code.

@interface MPMoviePlayerController (extend)
-(void)setOrientation:(UIDeviceOrientation)orientation animated:(BOOL)value;
@end

moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
if ([moviePlayer respondsToSelector:@selector(setOrientation:animated:)])
    [moviePlayer setOrientation:UIDeviceOrientationPortrait animated:NO];
if (moviePlayer)
{
    [self.moviePlayer play];
}
sugar
Great answer! I've edited it such that it will no longer crash if Apple decides to remove the private API (it will just play landscape instead)
rpetrich
+4  A: 

Instead of using the MPMoviePlayerController explicitly, you can load the movie into a UIWebView. That will launch the movie in portrait mode, with the usual movie player controls. Credits go to this blog post.

Here's a code snippet:

self.webView = [[[UIWebView alloc] initWithFrame: CGRectMake(0.0, 0.0, 1.0, 1.0)] autorelease];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL: urlToMovie];
[self.webView loadRequest: request];
[request release];

Here the webView instance is initialized as a 1x1 pixel element, and is not added as a sub-view. When it loads the URL request of the movie, it will automatically fill the entire screen and you'll see the movie play in portrait mode.

Note: it seems like it requires iPhone OS 3.1 (or higher) for videos to play in UIWebView.

pythonquick
A: 

I've written a short tutorial that shows how to play a video in portrait mode using public API's with a few simple tricks:

Tutorial: Portrait Video on iPhone

John