使用MPMovIEPlayerVIEwController播放视频时,更改iPad设备或模拟器的方向会导致解除视频播放器时的旋转状态不一致.这是iPad SDK 3.2中已知的BUG,记录在http://www.openradar.me/8012810
示例项目
我使用Xcode 3.2.2中的基于视图的应用程序模板准备了一个最小的示例项目,使用以下代码启动播放器
NSURL *movIEUrl = [NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"];MPMovIEPlayerVIEwController *player = [[MPMovIEPlayerVIEwController alloc] initWithContentURL:movIEUrl];[self presentMovIEPlayerVIEwControllerAnimated:player];[player release];
该代码可在GitHub上获得,http://github.com/adamalex/FullScreenMovie或使用http://github.com/adamalex/FullScreenMovie/zipball/master进行直接下载
重现步骤
>使用上述信息获取项目
>使用iPad模拟器或设备启动项目
点击按钮开始播放视频
>将iPad旋转90度
>关闭视频
>请注意,UIStatusbar与应用程序UI不同步
目的
我已经联系了苹果,他们已经确认这是一个正在调查的错误.我想讨论使用公共API安全提交到App Store的临时解决方法.我将与苹果公司开设一个开发者支持案例,并会自动向我报告.
解决方法 苹果开发者技术支持的成功回应!This is a kNown BUG and a we’re received a number of duplicate BUG reports and so iOS engineering is aware of the issue and we do have a temporary workaround as suggested by iOS engineering.
You will need to implement this in the vIEw controller which presents the movIE player.
- (voID)dIDRotateFromInterfaceOrIEntation:(UIInterfaceOrIEntation)fromInterfaceOrIEntation { [super dIDRotateFromInterfaceOrIEntation:fromInterfaceOrIEntation]; [self performSelector:@selector(fixStatusbar) withObject:nil afterDelay:0];}- (voID)fixStatusbar { [[UIApplication sharedApplication] setStatusbarOrIEntation:[self interfaceOrIEntation] animated:NO];}
While this is somewhat ugly,it should fix the issue for Now. It would be recommended to remove this code once the BUG is fixed in the system.
这完全适合我的问题,您可以重新访问http://github.com/adamalex/FullScreenMovie的代码,并应用修复.
总结以上是内存溢出为你收集整理的iphone – 使用MPMoviePlayerViewController时的iPad旋转错误全部内容,希望文章能够帮你解决iphone – 使用MPMoviePlayerViewController时的iPad旋转错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)