我正在使用以下方式阅读视频文件:
CMSampleBufferRef sampleBuffer = [asset_reader_output copyNextSampleBuffer];
其中asset_reader_output
是AVAssetReaderTrackOutput
类的实例。
这很有效,但是如果应用程序转到后台然后返回(例如,如果收到了电话),那么在返回应用程序后,copyNextSampleBuffer总是返回nil。
为什么它返回nil而不是实际数据?我该如何解决这个问题?
答案 0 :(得分:0)
尝试跟踪当前的样本缓冲区。然后,在addDelegate类中,您有回调方法applicationDidEnterBackground和applicationWillEnterForeground。只需在调用copyNextSampleBuffer
之前将当前的semple buffer marker设置在正确的位置