I have a UIButton in my iPhone app that, when clicked, plays a movie. The code to play the movie looks like this:
NSURL *url = [[NSBundle mainBundle] URLFor
Assuming that self.view is using the entire screen:
NSURL *url = [[NSBundle mainBundle] URLForResource:@"Robot" withExtension:@"m4v"];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
moviePlayer.controlStyle = MPMovieControlStyleFullscreen;
moviePlayer.view.transform = CGAffineTransformConcat(moviePlayer.view.transform, CGAffineTransformMakeRotation(M_PI_2));
[moviePlayer.view setFrame: self.view.bounds];
[self.view addSubview: moviePlayer.view];
[moviePlayer play];
Now assuming that you basically dont want to use the current self.view but simply have it working in fullscreen (I call this; fake-fullscreen as it does not invoke the fullscreen-property);
NSURL *url = [[NSBundle mainBundle] URLForResource:@"Robot" withExtension:@"m4v"];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
moviePlayer.controlStyle = MPMovieControlStyleFullscreen;
moviePlayer.view.transform = CGAffineTransformConcat(moviePlayer.view.transform, CGAffineTransformMakeRotation(M_PI_2));
UIWindow *backgroundWindow = [[UIApplication sharedApplication] keyWindow];
[moviePlayer.view setFrame:backgroundWindow.frame];
[backgroundWindow addSubview:moviePlayer.view];
[moviePlayer play];
I think the best way to resolve it is using the MPMoviePlayerViewController
instead of the MPMoviePlayerController
.
The MPMoviePlayerViewController
class implements a simple view controller for displaying full-screen movies. Unlike using an MPMoviePlayerController
object on its own to present a movie immediately, you can incorporate a movie player view-controller wherever you would normally use a view-controller.
To present a movie player view controller modally, you typically use the presentMoviePlayerViewControllerAnimated:
method. This method is part of a category on the UIViewController class and is implemented by the Media Player framework
. The presentMoviePlayerViewControllerAnimated:
method presents a movie player view controller using the standard transition animations for presenting video content. To dismiss a modally presented movie player view controller, call the dismissMoviePlayerViewControllerAnimated
method.