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

标签 iphone ios video background

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

CMSampleBufferRef sampleBuffer = [asset_reader_output copyNextSampleBuffer];

其中 asset_reader_outputAVAssetReaderTrackOutput 类的一个实例。

这很好用,但是如果应用程序进入后台然后返回(例如,如果接到电话),那么在返回应用程序后,copyNextSampleBuffer 总是返回 nil。

为什么它返回 nil 而不是实际数据?我该如何解决这个问题?

最佳答案

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

关于iphone - 应用程序从 iPhone 上的后台返回后的 copyNextSampleBuffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4816641/

相关文章:

ios - 如何在应用商店上载第二版本的应用?

iPhone iOS7系统声音(铃声和提醒)音量控制

iphone - objective-c - 设置 subview 框架以使其填满屏幕的正确方法

video - 停止屏幕刷新 - INT 0x10(视频服务)- assembly 中

ios - AVPlayer seekToTime : doesn't use buffer

iphone - 我必须在下面的代码中释放 NSDate 吗?

iPhone UIImage 内存泄漏

iOS ScrollView setContentSize 不工作

ios - 在 swift 中使用 Decodable 提取和解码 json 数据

Android 视频 View : Unable to play video files with '%' character in filename