1

MediaPlayerを使用してアプリで音楽を再生しています。一時停止して再開する必要がある場合は、mPlayer.isPlaying()を使用してステータスを確認しますが、これにより、不正な状態の例外がスローされることがあります。

なぜこれが起こるのですか?そして、あなたはこれらの時代に何をすべきですか?プレイヤーの状態をどのように判断しますか?

4

1 に答える 1

5

Androidドキュメントによると:

内部プレーヤーエンジンが初期化されていないか、解放されている場合、IllegalStateExceptionが発生します。」

まず、プレーヤーを初期化したか、リリースしていないことを確認してください。

MediaPlayerは奇妙かもしれません。ロジックがすでに理にかなっている場合でも、さまざまなステートメントを試してみる価値があります。あなたがコードを投稿した場合、私はこの点であなたをもっと助けることができます。

今のところ、try-catchステートメントを使用し、何かをcatchに入れて、MediaPlayerが正しく機能していることを確認できます。

編集1:MediaPLayerに静的グローバル変数を使用している場合は、暗闇の中で推測するだけで、問題になる可能性があります。特にクラスなどを切り替えるときは、初期化と解放の方法を再確認します。

于 2012-08-31T04:10:33.737 に答える