私の Android ゲームでは、AudioManager と SoundPool を使用して短い効果音を再生しています。
これは Samsung Galaxy Tab 10.1 では問題なく動作しますが、ゲームを Samsung Galaxy SIII に移植すると、ゲームをプレイしようとすると、電話の再起動時に画面の奇妙なロックアップとアプリケーションのクラッシュが発生します。サウンドプールからのサウンド。
非常に不規則に動作し、次の 4 つのいずれかが発生します (順不同):
(1) アプリケーションが正常に起動し、すべてのサウンドが正常に再生されます。
(2) アプリケーションが完全にクラッシュし、モバイルが再起動します。
(3) サウンドを再生しようとするとアプリケーションが短時間 (3 ~ 5 秒) フリーズし、その後は正常に続行しますが、サウンドが機能しません。
(4) アプリケーションは正常に起動しますが、サウンドが再生されません。*
- 4 番目のケースには奇妙なひねりがあります。サウンドは再生されませんが、ゲームのバックグラウンド ミュージック (AudioManager/SoundPool ではなく MediaPlayer を介して再生) をアクティブにすると、ゲームの開始時に再生されるはずのスタック サウンド エフェクトが何らかの形で「フラッシュ」され、すべてがキャッチされます。 -アップしてすぐにプレイ。この「フラッシュ ダウン」により、何らかの方法ですべてが正常に戻り、この時点から、SoundPool のすべてのサウンド エフェクトが正常に再生されます。
私が得ているエラーは次のとおりです。
AudioTrack: acquireBufferがタイムアウトしました (CPU が固定されていますか? )
問題が発生するのは、SoundPool.load によってサウンドをロードしている時ではなく、SoundPool.play によってサウンドプールからサウンドを再生しようとしているときです。
私はほぼすべてを試しましたが、今は知恵の終わりです。誰かが同じ問題を抱えていましたか?どんな助けでも大歓迎です。