私はこれを理解しようとして一晩中起きていました。私のコードは、Apple の例hereと基本的に同じです。ただし、デバイスはキューに配置された最初のバッファーのみを再生します (アプリの起動時に最初のバッファーの内容が聞こえます)。その後、デバイスからまったく音が出なくなります。AQS が関数を起動し続けているため、再生はまだ実行されていAudioQueueOutputCallback
ます。さらに、AQS を呼び出すたびに 0 が返されるため、何も失敗しません。
AudioQueueEnqueueBuffer
これで、 WITHIN コールバック関数から呼び出す限り、後続のバッファーを再生できます。AudioFileStream_PacketsProc
これは機能しません。データがソケットから にシネマとしてコールバック内からバッファを埋めてキューに入れることしかできないからAudioFileStreamParseBytes
です。
他の誰かがこの問題を抱えていますか?私にはAQSのバグのようです...
ありがとう、アンドリュー