0
我正在開發一個需要播放兩個數據(如:dataA和dataB)的音頻應用程序。爲了應用程序的目的,它應該按照以下順序播放音頻數據:AVAudioPlayer播放一個數據(一次),然後重複播放另一個數據(多次)
| dataA | dataB | dataB | ......重複N次數據B ... |
它的一個簡單的解決方案是創建一個包含上述數據結構(1 dataA + N dataB)的超大NSData。但是效率很低,特別是當N> 10000時。
在Android或其他可以直接控制音頻播放緩衝區的系統中,我可以簡單地將dataA推送到播放緩衝區,然後有一個for循環將dataB作爲根據需要多次(不分配超大緩衝區來保存dataB的重複)。
AVAudioPlayer如何實現? (注意:爲了應用程序的目的,我需要在dataA之後直接播放dataB,延遲時間爲0,所以不可能使用多個AVAudioPlayer類)