应用程序从iPhone上的后台返回后,copyNextSampleBuffer

Ira*_*rad 8 iphone video background ios

我正在使用以下方式阅读视频文件:

CMSampleBufferRef sampleBuffer = [asset_reader_output copyNextSampleBuffer];
Run Code Online (Sandbox Code Playgroud)

哪个asset_reader_outputAVAssetReaderTrackOutput 类的实例.

这很好用,但如果应用程序进入后台然后返回(例如,如果收到电话),则返回应用程序后,copyNextSampleBuffer始终返回nil.

为什么它返回零而不是实际数据?我怎么解决这个问题?

Sen*_*neL 0

尝试跟踪当前样本缓冲区。然后,在您的 appDelegate 类中,您有回调方法 applicationDidEnterBackground 和 applicationWillEnterForeground。只需在调用 copyNextSampleBuffer 之前将当前 semple 缓冲区标记设置在正确的位置即可