2つのデータ(例:dataAとdataB)を再生する必要のあるオーディオアプリケーションを開発しています。アプリケーションの目的のために、オーディオデータを次の順序で再生する必要があります:AVAudioPlayerは1つのデータを再生してから別のデータを繰り返し再生します。
|データA |データB |データB | ...データBのN回繰り返す... |
簡単な解決策は、上記のデータ構造(1つのdataA + N dataB)を含む超大規模のNSDataを作成することです。ただし、特にN> 10000の場合は非効率的です。
オーディオ再生バッファを直接制御できるシステムでは、dataAを再生バッファにプッシュし、forループを使用してdataBを何度も(データBの繰り返しを保存するために超大容量のバッファを割り当てずに)私が望むように。
AVAudioPlayerではどうすれば実現できますか? (注:アプリケーションの目的のために、dataAの直後に0の遅延で再生されているdataBを必要とするので、複数のAVAudioPlayerクラスを使用することはできません)