我试图找出一个只出现在 iPhone5s 上的问题,它与 AVPlayer 播放视频有关。问题是电影将在我迄今为止测试过的所有设备上播放,除了 5s 64 位型号。
我的理论是它与 64 位相关,但我无法将它与任何东西联系起来。我发现另一个 stackoverflow 帖子涉及与使用自动布局相关的修复的类似问题。但是,我没有使用自动布局。
这段代码在 5s 之前一直运行良好:
-(void)viewWillAppear:(BOOL)animated
{
self.player = [[AVPlayer alloc] initWithURL:[NSURL URLWithString:@"http://www.somemovieurlhere.mp4"]];
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];
playerLayer.frame = self.view.bounds;
playerLayer.backgroundColor = [UIColor orangeColor].CGColor;
[self.view.layer addSublayer:playerLayer];
[self.player play];
}
我知道添加了图层,因为如果您设置背景颜色,它会显示在视图中,但不会播放电影。在我的项目中,我可以通过注销“currentTime”属性来判断电影正在播放,如下所示:
float time = CMTimeGetSeconds([player currentTime]);
这是来自 iphone4s 的电影图像和我在 iphone5s 中看到的图像。我也用原装的 iphone5 测试过,效果很好。
关于可能导致这种情况的任何想法?提前感谢您的帮助。