iphone - AVPlayer 视频空白但能听到声音

标签 iphone ios objective-c avplayer avplayerlayer

我正在从 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/

相关文章:

iphone - 目标完整性 - mac os 部署目标比 sdk 更新警告

ios - 如何在 SwiftUI 中获取 iPhone 的屏幕宽度?

ios - 如何将数据库文件作为项目的一部分包含在 iOS 中,它位于我的 Mac 上的路径 Library/..Applications/../dbfile.sqlite

iphone - NSBlockOperation 泄露 ARC

ios - 导航栏中的 pageControl 未居中

iphone - Game Center 分数停留在特定分数

iphone - 如何对图像数组进行排序

objective-c - if 语句没有按我的预期工作

ios - Safari - iPhone 模拟器调试(通过 "develop")不再显示

ios - 如何将字符串转换为CFMutableString?