2012-05-06 3 views
0

ピアノを含む簡単なiOSアプリケーションを作成しています。ピアノサンプルにAVAudioPlayerを使用する - メモリ管理

私は非常に基本的な何かが必要、と私はおそらくこのアプローチで行くよ:

  • キーすべてのピアノのための単一.MP3を持って適切な
  • として.mp3sを再生するにはAVAudioPlayerを使用

AVAudioPlayerインスタンスは1つのサウンドでのみ使用できます。したがって、私は多くのピアノ鍵ごとに1つずつ、AVAudioPlayer(正確には88)を作成する必要があります。

私の質問は、どのようにメモリを消費するのですか?AVAudioPlayerですか? 88 AVAudioPlayerを作成してメモリに保存し、必要に応じて使用してプログラムを初期化できますか?または、AVAudioPlayerのメモリフットプリントが大きすぎます。必要に応じてAVAudioPlayerを割り当て/解放すればよいですか?もしそうなら、プレイヤーの割り当て/解放は、ユーザーが遅れを気付かないように十分に速くなるでしょうか?

+0

Instrumentsでは10個ほどの 'AVAudioPlayer'インスタンスを作成し、メモリフットプリントを監視してみませんか?それがOKと見える場合インスタンスをランプアップし、それがどのように行くかを見てください。 –

+0

また、iDeviceの処理負荷を軽減するため、IMA4(CAF)オーディオフォーマットの使用をお勧めします。 –

答えて

1

このプロジェクトでは、その機能の解決策としてOpenAL SoundBankPlayerを使用しています。別のアプローチは、soundFontとSampler AudioUnitを使用することです。音楽作成タイプのアプリに最適です。良い詳細とソースコード:AudioGraph