使用Xcode/Cocoa和ExtAudioFile API時,我試圖將AudioBufferList *對象存儲起來供以後使用,但我在重新訪問數據時遇到了麻煩。這些對象來自重複的ExtAudioFileRead調用。從ExtAudioFile API中存儲AudioBufferLists以供將來使用
我意識到我不能將這些AudioBufferList *對象填充到一個NSArray中,但我的印象是NSPointerArray可以用於此目的。但是,在將音頻緩衝區列表存儲在NSPointerArray中之後嘗試訪問audioBufferList-> mBuffers [0] .mData時,它們只會回零。
因爲我正在爲每個ExtAudioFileRead調用重複使用相同的音頻緩衝區列表,所以我正在將audioBufferLists寫入新的audioBufferList對象。不過,我不確定這是否足夠,並且對void * audioBufferList-> mBuffers [0] .mData對象進行memc編碼也沒有幫助。
什麼是最簡單的方法來存儲這些AudioBufferList *對象?我在正確的軌道上嗎?
或者你也可以創建一個NSMutableData,在數據的mutableBytes中保存'dataSize'字節和'memcpy''mData'。 – 2009-12-08 20:06:07