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

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

CMSampleBufferRef sampleBuffer = [asset_reader_output copyNextSampleBuffer]; 

其中asset_reader_outputAVAssetReaderTrackOutput类的实例。

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

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

尝试跟踪当前的样本缓冲区。 然后,在addDelegate类中,您有回调方法applicationDidEnterBackground和applicationWillEnterForeground。 在调用copyNextSampleBuffer之前,只需在当前位置设置当前的semple buffer marker