iOS:MPMoviePlayerController 完成按钮不起作用

Posted

技术标签:

【中文标题】iOS:MPMoviePlayerController 完成按钮不起作用【英文标题】:iOS: MPMoviePlayerController Done button doesn't work 【发布时间】:2011-06-15 11:02:06 【问题描述】:

我正在将 MPMoviePlayerController 添加到这样的视图中:

player = [[MPMoviePlayerController alloc] initWithContentURL:url];
player.controlStyle = MPMovieControlStyleNone; 
[player.view setFrame:self.playerView.bounds];     
[self.playerView addSubview:player.view];

self.playerView 是我的主视图中的一个小视图,我有自定义按钮来控制同一主视图中的播放。这一切都很好。

我有一个像这样工作的全屏按钮:

- (IBAction) btnFullScreenPressed:(id)sender 
    [player setFullscreen:TRUE animated:TRUE];
    [player setControlStyle:MPMovieControlStyleFullscreen];

这工作正常,但是当我点击全屏控件上的完成按钮时,电影停止播放,但不会返回到我视图中较小的 self.playerView。我怎样才能让它“非全屏”并返回到较小的 self.playerView?

谢谢。

【问题讨论】:

【参考方案1】:

很不直观,您实际上必须将控件样式设置为默认值,即:

- (IBAction) btnFullScreenPressed:(id)sender 
    [player setFullscreen:TRUE animated:TRUE];
    [player setControlStyle:MPMovieControlStyleDefault];

当然,当您收到 MPMoviePlayerWillExitFullscreenNotification 或 MPMoviePlayerDidExitFullscreenNotification 时将其设置回无(我更喜欢“退出”)。

【讨论】:

这对我不起作用。视频停止,但仍处于全屏模式。

以上是关于iOS:MPMoviePlayerController 完成按钮不起作用的主要内容,如果未能解决你的问题,请参考以下文章

MPMoviePlayerController 在后台播放音频流

断言失败:电影播放器​​的激活状态错误(一)

player.duration 在视频文件的 MPMoviePlayerController 中始终显示为零

{python之IO多路复用} IO模型介绍 阻塞IO(blocking IO) 非阻塞IO(non-blocking IO) 多路复用IO(IO multiplexing) 异步IO

IO模型--阻塞IO,非阻塞IO,IO多路复用,异步IO

IO复用阻塞IO非阻塞IO同步IO异步IO