ios - 如何在 iOS 中运行 MPMoviePlayerViewController 时禁用 FULLScreen 模式

标签 ios objective-c mpmovieplayercontroller

我有一个问题:我将 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/

相关文章:

ios - 两个 UIWebView 有单独的 cookie 存储?

iOS - 远程类中的调用方法

objective-c - Cocoa代码-如何在按下下一页按钮后在一页中打印文件的1024字节并在下一页中打印接下来的1024字节?

ios - 如何用播放 MPMoviePlayerController 的 UIProgressView 替换 UISlider?

iphone - 播放保存在应用程序文档目录中的视频文件

ios - iPhone 上的 OpenGL ES 可能存在 Retina 问题?

iphone - 如何比较两个时隙之间的当前时间

objective-c - 如何在代码块中编译 Objective-C?

ios - 来自相机的多个 imagePicker

iphone - MPMoviePlayerViewController 上的向下滑动手势