0

私は、サウンドプールを使用して小さなサウンドファイルを再生する小さなゲームに取り組んでいます。ただし、ヒープにオーバーフローがあるというエラーが表示されたため、サウンドプールに追加したいサウンドファイルが多すぎるようです。そこで、クラスインスタンスの初期化時にサウンドファイルをロードするのではなく、必要なときにサウンドファイルをロードしようとしましたが、その結果は非常に悪い結果になりました。

サウンドプールを使用して動作させる他の方法はありますか、それとも代わりにメディアプレーヤーを使用する必要がありますか?音楽ファイルなどの長いサウンドクリップを再生するために使用されるメディアプレーヤークラスをすでに持っています。したがって、バックアップ計画では、2つの別々のスレッドで実行されるメディアプレーヤークラスの2つのインスタンスを作成し、そのうちの1つが小さなサウンドファイルを処理します。どんな助けやアイデアも大歓迎です。

ご挨拶!

4

1 に答える 1

1

SoundPool使用しているオブジェクトを複数のインスタンスに分割してみてください。元。SoundPool sp1, sp2, sp3; 複数のオブジェクトを使用しないでくださいMediaPlayer。非常に遅く、非効率的です。

于 2012-09-12T20:19:28.853 に答える