我正在从 MPMoviePlayerController
切换到 AVPlayer
,因为我需要对视频交换进行更细粒度的控制。我用 MPMoviePlayerController
播放的 .mov
文件播放正常,但切换到 AVPlayer
后我听到视频中的音频,但视频只是显示我添加了 AVPlayerLayer
的 View 背景。以下是我如何初始化 AVPlayer
。
self.player = [[AVPlayer alloc] initWithURL:video];
AVPlayerLayer* playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];
playerLayer.frame = self.playerContainer.bounds;
[self.playerContainer.layer addSublayer:playerLayer];
然后我就发出一个。
[self.player play];
播放视频时,我听到了声音,但看不到视频。我还尝试将 zPosition 设置为不走运。
playerLayer.zPosition = 1;
最佳答案
发现这是使用 AutoLayout
的结果。在 viewDidLoad
中,self.playerContainer.bounds
是一个 CGRectZero
。
我必须在 viewDidAppear
中分配 playerLayer 框架以匹配 playerContainer。
关于iphone - AVPlayer 视频空白但能听到声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16802630/