4

これは大変です :/

Audiosurf 風の音楽ベースの Android ゲームを作成しています。曲の終わりの数秒前(通常のMediaPlayerで再生されている)を除いて、すべてうまく機能し、音楽が突然停止し、ゲーム全体(UIを含む)が数秒間フリーズします。

これが発生するたびに、logcat に「AudioHardware pcm 再生がスタンバイになります」というエラーが表示されます。

グーグルは私を次の結論に導きました

  • これは HTC Hero 固有の問題である可能性があります (エミュレーターやその他のデバイスでは再現できません)
  • このメッセージは通常、http ストリームが MediaPlayer に対して十分に高速でない場合にログに記録されます。
  • Androidのオーディオは一般的に最悪です

オーディオ分析のために NDK + libmpg123 で mp3 をデコードしているので、自分でオーディオを再生することもできます (NDK C コードと Java の AudioTrack の間の非常に醜いインターフェースを使用します)。

このバグの修正/回避策はありますか、それとも本当にそうする必要がありますか? (このプロジェクトを完了するために残された時間は限られています)

すべてのヒントに感謝します!

4

1 に答える 1

0

C コードですべてをバッファリングしたときに、音楽を停止している可能性があります。にAudioTrackは遅延があるため、完了するまでさらに長く待つ必要がある場合があります。

ただし、コードの詳細が必要です。

于 2011-03-13T21:19:29.447 に答える