エンコードされた PCM バッファを含むソケットから一連の UDP パケットを受信しています。それらをデコードした後、すぐに再生したい int16 * オーディオ バッファーが残ります。
意図したロジックは次のようになります。
init(){
initTrack(track, output, channels, sample_rate, ...);
}
onReceiveBufferFromSocket(NSData data){
//Decode the buffer
int16 * buf = handle_data(data);
//Play data
write_to_track(track, buf, length_of_buf, etc);
}
ただし、バッファの再生に関係するすべてについてはわかりません。Android では、AudioTrack オブジェクトを作成し、サンプル レート、フォーマット、チャネルなどを指定してセットアップし、バッファを使用して「書き込み」メソッドを呼び出すだけでこれを実現できます (私が望むように)上記の疑似コードで可能ですが、iOSでは不足しています。
オーディオ ファイル ストリーム サービスを使用してみましたが、音が出ないので何か間違っていると思います。それらの機能だけでは実際には再生されないような気がします。また、Audio Queue Services についても理解しようとしましたが (これは私が求めているものに近いと思います)、その使用法に関する単純なコード サンプルを見つけることができませんでした。
特にコード例の形で、どんな助けでも大歓迎です。