我有一个问题:我将 MPMoviePlayerViewController
添加到 detailView
,但是当我单击按钮打开 detailView
时,MPMoviePlayerViewController
在全屏模式下自动播放。现在我希望当单击按钮打开 DetailView
时,MPMoviePlayerViewController
显示播放按钮而不是自动播放。然后用户点击播放按钮,MPMoviePlayerViewController 必须通过调用 [self presentMoviePlayerViewControllerAnimated:moviePlayer];
在 FULLScreen 中运行。我怎样才能做到这一点?提前致谢。
movieURL = [NSURL URLWithString:previewString];
moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
moviePlayer.view.frame = CGRectMake(10,130, 275 , 150);
[moviePlayer.moviePlayer prepareToPlay] ;
moviePlayer.moviePlayer.shouldAutoplay = NO;
moviePlayer.wantsFullScreenLayout = NO;
moviePlayer.moviePlayer.controlStyle = MPMovieControlStyleEmbedded;
//[detailview addSubview:moviePlayer.view];
[self presentMoviePlayerViewControllerAnimated:moviePlayer];
如果尝试上面的代码,moviePlayer 会自动以全屏模式运行。现在我希望当开始时,moviePlayer 不会在全屏模式下自动运行,当用户点击播放按钮时,它会在全屏模式下运行。
最佳答案
请求通知播放状态已更改:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(mpChangedPlaybackState:)
name:MPMoviePlayerPlaybackStateDidChangeNotification
object:nil];
然后查看播放状态,看是否正在播放:
- (void)mpChangedPlaybackState:(NSNotification *)notification {
if (self.moviePlayer.playbackState == MPMoviePlaybackStatePlaying) {
// the state has changed to 'playing'
}
}
当您不再需要知道时(最晚在 viewWillDisappear:
上)记得移除自己作为观察者
关于ios - 如何在 iOS 中运行 MPMoviePlayerViewController 时禁用 FULLScreen 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18820271/