如果您的 AVSampleBufferDisplayLayer 卡住或冻结,请尝试以下步骤:
if (self.playerItem.status == AVPlayerItemStatusReadyToPlay) { if (self.displayLayer.isStalled) { [self.displayLayer performSelector:@selector(resume) withObject:nil afterDelay:0.1]; } }
AVSampleBufferDisplayLayer *displayLayer = [[AVSampleBufferDisplayLayer alloc] init]; displayLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
[self.displayLayer removeFromSuperlayer]; self.displayLayer = nil; [self.player replaceCurrentItemWithPlayerItem:self.playerItem];
如果这些步骤都不起作用,则可能存在其他问题。请检查您的日志以获取更多信息,并考虑使用其他播放器工具或库。
上一篇:AVS API是否具有调度功能?