我正在使用以下方式读取视频文件:
CMSampleBufferRef sampleBuffer = [asset_reader_output copyNextSampleBuffer];
其中 asset_reader_output
是 AVAssetReaderTrackOutput
类的一个实例。
这很好用,但是如果应用程序进入后台然后返回(例如,如果接到电话),那么在返回应用程序后,copyNextSampleBuffer 总是返回 nil。
为什么它返回 nil 而不是实际数据?我该如何解决这个问题?
最佳答案
尝试跟踪当前的样本缓冲区。然后,在您的 addDelegate 类中,您有回调方法 applicationDidEnterBackground 和 applicationWillEnterForeground。只需在调用 copyNextSampleBuffer 之前在正确的位置设置当前的 semple 缓冲区标记
关于iphone - 应用程序从 iPhone 上的后台返回后的 copyNextSampleBuffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4816641/