我有一个MPMoviewPlayerViewController嵌入到UIView对象中.当我在嵌入模式下启动播放器时,一切正常并且符合预期.如果用户然后点击全屏切换(或者如果我以编程方式使用更改为全屏setFullscreen:animated),则播放器全屏播放,电影播放另一秒,之后屏幕变黑,只有" 正在加载... "消息.
此行为仅在使用iOS 6(也是iPad 6.0模拟器)时出现,在运行iOS 5的设备上,一切都按预期工作.
电影源是应用程序包中的本地文件.
播放和进入全屏时,调试输出如下:
2012-09-26 15:24:48.251 [39895:c07] [MPAVController] Autoplay: Disabling autoplay for pause 2012-09-26 15:24:48.252 [39895:c07] [MPAVController] Autoplay: Disabling autoplay 2012-09-26 15:24:48.262 [39895:c07] [MPAVController] Autoplay: Enabling autoplay 2012-09-26 15:24:48.265 [39895:c07] [MPAVController] Autoplay: Likely to keep up or full buffer: 0 2012-09-26 15:24:48.266 [39895:c07] [MPAVController] Autoplay: Skipping autoplay, not enough buffered to keep up. 2012-09-26 15:24:48.267 [39895:c07] [MPAVController] Autoplay: Likely to keep up or full buffer: 0 2012-09-26 15:24:48.268 [39895:c07] …
我的iPad应用程序上有一个MPMoviePlayerController,当它的帧是常规(不是全屏)时效果很好.
当我点击全屏按钮时,播放器全屏显示,但电影停止.我永远看到标题为"正在加载...",黑色背景,并禁用标准控件(后退,播放和下一个).
我为玩家声明了一个实例变量:
MPMoviePlayerController *player;
Run Code Online (Sandbox Code Playgroud)
在我的实施中:
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:videoUrl];
player.shouldAutoplay = NO;
player.movieSourceType = MPMovieSourceTypeFile;
player.controlStyle = MPMovieControlStyleEmbedded;
player.allowsAirPlay = YES;
player.view.frame = CGRectMake(xPos, yPos, width, height);
[self.view addSubview:player.view];
[player prepareToPlay];
Run Code Online (Sandbox Code Playgroud)
你有什么主意吗?我正在使用iOS 6 SDK,我正在测试iPad 6.0模拟器上的应用程序和带有iOS 6 beta(最新)的真正iPad2.