- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
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];
VideoPlayer 是 MPMoviePlayerViewController 的子类,其中 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/
如何在我的应用程序中播放电影?我尝试使用此代码,但 xcode 给出了此错误: NSBundle *bundle = [NSBundle mainBundle]; NSString *moviePat
我对 MPMoviePlayerViewController 及其属性重复模式有疑问。据称,将其设置为 MPMovieRepeatModeOne 值将导致播放器重复播放。我使用以下代码循环播放视频,但
我在让 MPMoviePlayerViewController 工作时遇到问题。我有一个新项目,在 viewDidLoad 之后我尝试在 moviePlayerViewController 中播放电影
我的应用程序以电影开始,我尝试向下滑动或向下滑动以继续电影,但我不知道为什么手势不起作用,我尝试使用: [player view].userInteractionEnabled = NO; -(voi
我的 MPMoviePlayerViewController 存在问题:如果 Controller 在指定的 URL 处找不到电影,它会显示白屏,并且我无法使其关闭。 这就是我启动电影播放器的方式
我目前正在开发一个使用 MPMoviePlayerViewController 和 MPMoviePlayerViewController 的网络电视应用程序。 MPMoviePlayer 在 iPh
因此,我尝试了多种方法,结果相同。 我使用 YouTube MP4 URL 进行了测试,例如: This 我这样做的方式看起来很像: self.moviePlayer = [[MPMoviePlaye
我正在使用 cocos2d,我想播放电影。为此,我创建了 MPMoviePlayerViewController 并将其作为 [[CCDirector sharedDirector] openGLVi
MPMoviePlayerViewController(我使用快捷方式 MPVC)正确播放录制的肖像电影时出现问题。(在装有 iOS 6.0.1 的 iPhone 4S 上测试)该应用程序执行此操作:
我正在制作一个 iOS 视频播放器应用程序,它从 Web 服务获取一大堆视频 URL 并在 MPMoviePlayerViewController 中播放它们。 大部分视频只是 .mp4 或 .mov
这可能是重复的,但我没有得到我想要的。 我的应用程序只是基于纵向的,我想在其中仅在 MPMoviePlayerViewController 和 Landscape 模式下显示一个Video 文件。但无
我正在使用 MPMoviePlayerViewController 播放视频。 我将重复模式设置为 MPMovieRepeatModeOne,以便视频可以循环播放。 有什么方法可以用来获取播放视频的重
我有一个带有新闻提要屏幕的应用程序,就像 facebook 应用程序中的那个一样。为此,我制作了一个自定义单元格,它有一个 contentView,它是一个 UIView。此 contentView
我正在使用 MPMoviePlayerViewController 在我的应用程序中显示视频。有用!唯一的问题是电影播放前有黑色闪光。 如何去除黑色闪光?我看过其他线程,但它们似乎没有适用于 MPMo
我正在尝试为标题/启动屏幕加载一部小电影。但是,当我调用 presentMoviePlayerViewControllerAnimated 时,什么也没有发生。我已经确认该代码块正在执行,但用户无法感
我目前在 iOS 4.3.5 上运行,并尝试让我的 MPMoviePlayerViewController 在进入后台后继续播放。 我按照上面的描述实现了所有内容 http://developer.a
我会保持简单,代码如下: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)index
我正在尝试添加 subview MPMoviePlayerViewController 对象,它的顶部栏向下移动了一点,但如果我确实呈现了 MPMoviePlayerViewController 对象
这是我的代码,应该播放嵌入 subview 中的视频,但它只显示没有控件的静态图像。 - (void)displayVideo:(NSURL *)videoURL { if (self.med
我正在使用下面的代码来播放视频,但在使用表示资源文件路径的本地 url 时它工作正常。不适用于服务器网址。 player = [[MPMoviePlayerViewController alloc]
我是一名优秀的程序员,十分优秀!