你可以使用一個AVAssetReader對象來獲得一個asset的媒體數據,無論這個asset是file-based或者多個sources的媒體數據的組合(as with an AVComposition object)。
Overview
AVAssetReader lets you:
1.直接從storage中讀取裸的未解碼的採樣數據,得到解碼後能夠渲染的採樣數據。
2.混合asset中多個audio tracks,合併多個video tracks (by using AVAssetReaderAudioMixOutput and AVAssetReaderVideoCompositionOutput).
AVAssetReader’s的流水線內部是多線程的。在你使用initWithAsset:error:初始化讀操作之後,一個reader會在檢索操作如copyNextSampleBuffer (AVAssetReaderOutput)之前加載和處理多個sample data,這樣檢索操作的延時可以非常低。
Note
AVAssetReader不是專門爲了處理實時sources,他不能保證實時操作的性能。