使用AVAssetReader读取多个轨道

时间:2011-07-25 01:28:49

标签: ios avfoundation

我需要从AVAsset中读取音频和视频的原始样本。做这个的最好方式是什么?我可以将多个AVAssetReaderTrackOutput对象附加到一个AVAssetReader。但是[AVAssetReaderOutput copyNextSampleBuffer]是同步的。按时间顺序读取两个轨道的最佳方法是否可以安全地为每个AVAssetReaderTrackOutput分配一个线程?

1 个答案:

答案 0 :(得分:2)

好问题 - 每个AVAssetReaderTrackOutput 的一个线程似乎在iOS上正常工作但是它是否应该没有记录。根据AVFoundation的实现方式,您可能会导致对AVAssetReader和AVAsset的异步访问。那会有用吗?没人知道。

真的安全,你应该创建两个AVAssetReaders甚至两个AVAssets(它们可能只是AVURLAssets)。