gpt4 book ai didi

iphone - MPMoviePlayerViewController 在 5.1 下无法横向播放

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:16:34 24 4
gpt4 key购买 nike

5.1 中是否有任何变化会影响 MPMoviePlayerViewController 在设备方向方面的工作方式?

我今天开始收到用户的报告,称视频只能以纵向模式播放。我发现他们使用的是 5.1,于是我迅速升级了一个设备来重现这种情况。我的代码没有改变并且在 4.x、5.0 和 5.01 中完美运行。

我的应用程序中的所有 View 都以纵向模式显示,除非用户单击视频时,电影播放器​​应该接管整个屏幕并更多地启动为横向模式。该应用程序使用 5.0 SDK 但目标是 4.0。这是我用来显示视频的代码:

VideoPlayer *vp = [[VideoPlayer alloc] initWithContentURL:movieURL];
vp.moviePlayer.movieSourceType = src;
vp.moviePlayer.controlStyle = MPMovieControlStyleFullscreen;
vp.moviePlayer.shouldAutoplay = TRUE;
[self presentMoviePlayerViewControllerAnimated:vp];

VideoPlayerMPMoviePlayerViewController 的子类,其中 shouldAutorotateToInterfaceOrientation 被覆盖,如下所示:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIDeviceOrientationLandscapeLeft);
}

这种模式在整个互联网上都被推荐,甚至被 Apple 推荐。我不明白为什么它不能在 iOS 5.1 下工作,或者为什么没有更多人对此提示。

任何帮助将不胜感激。

最佳答案

我也有同样的问题 - 我在 opengl subview 上播放电影,(我正在制作横向模式的交互式电子书,所以需要我的电影 - (在 uiview 中)也可以横向播放)

我通过以下方式更正了这一点:将打开的 glview 子类化为 *viewcontroller,然后将该 *viewcontroller 链接到窗口

因此,在使用 cocos2d 时,我现在可以以正确的方向使用所有 uikit。将所有 uikit View 发送到我的子类 opengl View 。 (同时确保添加我的应用程序委托(delegate)并检查 plist 中是否也说明了方向。)

"#if GAME_AUTOROTATION == kGameAutorotationUIViewController
[director setDeviceOrientation:kCCDeviceOrientationPortrait];
"#else
[director setDeviceOrientation:kCCDeviceOrientationLandscapeRight];
"#endif

希望这对某人有所帮助 :) 我是 cocos2d 的新手,所以花了一段时间才弄清楚我做错了什么。

关于iphone - MPMoviePlayerViewController 在 5.1 下无法横向播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9627857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com