我知道有人问过类似的问题,但我的问题与其他问题略有不同,而且我还无法自己找到解决方案。
我有一个应用程序会故意阻止整个应用程序的界面旋转。但是,该应用程序确实会播放视频,并且在该视图中,允许旋转。
该应用程序已经在商店中出现了一段时间,按预期运行,但我收到了一些关于视频无法在运行 iOS 7 的设备上播放的报告(音频确实播放)。烦人的部分是我无法复制这个问题(我已经在 4s、5 和 5s 上进行了测试)。视频和音频在我所有的设备上都可以正常工作。
在“详细视图”屏幕上,有一个播放按钮,它将启动一个新视图,该视图允许全屏视频和旋转 -
“全屏视频”屏幕是带有 MPMoviePlayerController *moviePlayer 和 (IBAction)playMovie 的 UIViewController;- 自动调用该操作,以便在出现新视图时立即开始视频播放。
viewDidLoad 看起来像
[super viewDidLoad];
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:[[self.detailItem valueForKey:@"exerciseVideo"] description] ofType:@"mov"]];
moviePlayer = [[MPMoviePlayerController alloc]
initWithContentURL:url];
self.moviePlayer.contentURL = url;
NSError *_error = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &_error];
[moviePlayer stop];
[moviePlayer setShouldAutoplay:NO];
[NSTimer scheduledTimerWithTimeInterval:0.5
target:self
selector:@selector(playMovie)
userInfo:nil
repeats:NO];
playMovie 动作看起来像
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerDidExitFullscreenNotification
object:moviePlayer];
moviePlayer.controlStyle = MPMovieControlStyleDefault;
moviePlayer.shouldAutoplay = YES;
moviePlayer.allowsAirPlay = YES;
[self.view addSubview:moviePlayer.view];
[moviePlayer setFullscreen:YES animated:YES];
是否有任何理由无法使用该代码播放视频?我想知道它是否与单个设备上的设置相关(或者如果有其他后台任务,可能与内存相关),但我在这里碰壁,试图解决我无法复制的问题。
任何建议,将不胜感激。