私のアプリでは、ユーザーがアプリ内を移動するときにバックグラウンドで音楽を再生する必要があります。それで、MixerHost から始めて、8 トラックを同時に再生できるオーディオ ミキサーを開発しました。とはいえ、8 トラックのファイルを 8 つのバッファにすべてロードするため、大量のメモリを消費します。
メモリ消費を制限するために、最初はデータの小さなチャンクのみをロードし、そのようなコールバックで新しいデータをフィードします
result = ExtAudioFileRead ( audioFileObject, &numberOfPacketsToRead, bufferList );
非常にうまく機能しますが、再生が一時停止することがあります。問題の原因はわかっています。コールバックで FS アクセスを行うことです。
しかし、メモリ消費を制限する別の解決策はありますか?