屏幕加载时AVPLayer显示黑屏
Posted
技术标签:
【中文标题】屏幕加载时AVPLayer显示黑屏【英文标题】:AVPLayer show black screen when screen load 【发布时间】:2016-03-11 09:24:04 【问题描述】:我正在使用 AVPLayer 在 UITableView 中播放视频。视频播放正常,但有时最初播放视频时,有声音,但屏幕为黑色。视频播放 5-6 秒后可见。我正在使用以下代码:
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
playerItem = [AVPlayerItem playerItemWithAsset:asset];
AVPlayer *avPlayer = [AVPlayer playerWithPlayerItem:playerItem];
self.avPlayer = avPlayer;
__weak CLBAVPlayer *weakSelf = self;
[self.avPlayer addPeriodicTimeObserverForInterval:CMTimeMakeWithSeconds(1.0 / 60.0, NSEC_PER_SEC)
queue:nil
usingBlock:^(CMTime time)
[weakSelf progress];
];
self.layer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer];
self.avPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone;
请帮我解决问题。
【问题讨论】:
【参考方案1】:我得到了答案。实际上问题是,当我获取层并将其添加为子层时,它不在主队列中。在主队列中使用 dispatch_async
解决了我的问题。
【讨论】:
以上是关于屏幕加载时AVPLayer显示黑屏的主要内容,如果未能解决你的问题,请参考以下文章