【问题标题】:AVPLayer show black screen when screen load屏幕加载时AVPLayer显示黑屏
【发布时间】: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;

请帮我解决问题。

【问题讨论】:

    标签: ios uitableview video avplayer avplayerlayer


    【解决方案1】:

    我得到了答案。实际上问题是,当我获取层并将其添加为子层时,它不在主队列中。在主队列中使用 dispatch_async 解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多