我正在从MPMoviePlayerController
切换到AVPlayer
,因为我需要对视频交换进行更精细的控制。我正在使用.mov
播放的MPMoviePlayerController
文件播放正常,但在切换到AVPlayer
后,我听到了视频中的音频,但视频只显示了我添加了{{{ 1}}到。以下是我正在初始化AVPlayerLayer
。
AVPlayer
然后我才发出一个。
self.player = [[AVPlayer alloc] initWithURL:video];
AVPlayerLayer* playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];
playerLayer.frame = self.playerContainer.bounds;
[self.playerContainer.layer addSublayer:playerLayer];
播放视频时,我会听到音频,但看不到视频。我也尝试将zPosition设置为没有运气。
[self.player play];
答案 0 :(得分:8)
发现它是使用AutoLayout
的结果。在viewDidLoad
中,self.playerContainer.bounds
是CGRectZero
。
我必须在viewDidAppear
中分配playerLayer帧以匹配playerContainer。
答案 1 :(得分:0)
确保播放视频的语句:
ss
从这样的主调度队列调用(Swift 3):
[self.player play]