0

HTC Wildfire Sでサウンドに関連するクラッシュが頻繁に発生するという問題があります (Thunderbolt などの他のデバイスでも同じように見えますが、それほど頻繁ではありません)。私はそれを修正するためにさまざまなことを試しました。または、運がなければ問題が正確に何であるかについてもっと学びました。

問題は音に関連していると確信しています。コメントアウトするSoundPool.play()と、問題は消えます。代わりにOpenSL ESを使用してみましたが、クラッシュは減少しませんでした。

また、このタイトルでのみ発生するため、必然的に低レベルのサウンドの問題であることを受け入れるのに苦労しています。しかし、同じサウンド コードで構築された他のゲームではそうではありません (私が確立できた限り)。さらに、他の人が同じ問題を経験したという証拠は事実上ありません。

ただし、これにつながると私が考えることができるゲーム固有の事柄 (多数の同時サウンド、頻繁なサウンド、サウンド形式) は問題ではないようです (一度に 1 つのサウンドだけに減らし、WAV に切り替え、より小さくしました)ファイル、OGG、別のサウンドから最近発生したサウンドをブロックせずに無視します)。

私たちの共通コードはcocos2dxの上に構築されており、(完全には確信が持てませんが) * Cocos2dxSound .javaSoundPool.play(...) returned 0 * の調整でクラッシュが増加し、初回以降はメイン スレッドのみがスリープするようになったようです。

また、問題になる可能性がある場合に備えて、APK からの一部のサウンドは、インストール後にダウンロードされます。

アイデアや提案は大歓迎です。これには、必要以上に時間がかかりました。

4

2 に答える 2

0

いくつかのコードを共有すると役に立ちます。ただし、ZXingからこのコードを確認することをお勧めします。

http://code.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/BeepManager.java?r=2271

特にbuildMediaPlayer()

于 2012-09-12T00:02:53.823 に答える
0

この問題は、無関係の問題が原因でした。音が鳴ったとき、それは問題を明らかにしました。演奏についてはどうでしたかわからない。しかし、何らかの理由でサウンドを再生しているのではないかと思われます(ndk-profilerは最近チェックインされましたが、チェックイン時に無効にされなかったため、プロファイリング中です)。

于 2012-09-14T23:13:24.697 に答える