IOS 6 MPMoviePlayerController 旋转问题
Posted
技术标签:
【中文标题】IOS 6 MPMoviePlayerController 旋转问题【英文标题】:IOS 6 MPMoviePlayerController Rotation Issue 【发布时间】:2013-01-15 23:29:13 【问题描述】:我刚刚更新到 ios 6,现在当我运行我的应用程序时,MPMoviePlayerControler 无法正确显示视频。该应用程序是横向的,但是当视频以纵向显示时。我创建了新的 .h 和 .m 文件,它们是 MPMoviePlayerController 的子文件。这是我的两个文件
.h
#import <Foundation/Foundation.h>
#import "cocos2d.h"
#import <MediaPlayer/MediaPlayer.h>
@interface TrashPackPlayer : MPMoviePlayerController
@end
.m
#import "TrashPackPlayer.h"
@implementation TrashPackPlayer
-(id)init
[super init];
return self;
- (BOOL)shouldAutorotate
return YES;
- (NSInteger)supportedInterfaceOrientations
return UIInterfaceOrientationMaskLandscape;
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
@end
我这样创建媒体播放器:
player = [[TrashPackPlayer alloc] initWithContentURL:videoURL];
player.view.frame = CGRectMake(0, 0, sharedInfo.screenSize.width, sharedInfo.screenSize.height);
player.controlStyle = MPMovieControlStyleFullscreen;
player.scalingMode = MPMovieScalingModeAspectFit;
[player play];
[[[CCDirector sharedDirector] openGLView] addSubview:player.view];
这对吗?
我需要做什么才能正确显示?
【问题讨论】:
【参考方案1】:iOS6 中的旋转发生了巨大变化,请查看第四点: http://megawertz.com/blog/2012/9/20/ios-6-and-rotation
最顶层的视图控制器负责设置允许的方向,子类化视图控制器并不能解决您的问题。
【讨论】:
以上是关于IOS 6 MPMoviePlayerController 旋转问题的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 6.0 和 iOS 6.0.1 上调用 [FBSession openActiveSessionWithPermissions...] 时从 ACAccountStore 抛出 NSInv
Xcode 6 自适应 UI 如何向后兼容 iOS 7 和 iOS 6?
为啥我的弹出框在 iPhone 6 Plus 上的 iOS 8.1 中崩溃? iOS 8 工作(实际上是 Xcode 6.0 到 6.1 的错误)