MediaPlayerを使用してアプリで音楽を再生しています。一時停止して再開する必要がある場合は、mPlayer.isPlaying()を使用してステータスを確認しますが、これにより、不正な状態の例外がスローされることがあります。
なぜこれが起こるのですか?そして、あなたはこれらの時代に何をすべきですか?プレイヤーの状態をどのように判断しますか?
MediaPlayerを使用してアプリで音楽を再生しています。一時停止して再開する必要がある場合は、mPlayer.isPlaying()を使用してステータスを確認しますが、これにより、不正な状態の例外がスローされることがあります。
なぜこれが起こるのですか?そして、あなたはこれらの時代に何をすべきですか?プレイヤーの状態をどのように判断しますか?
Androidドキュメントによると:
内部プレーヤーエンジンが初期化されていないか、解放されている場合、IllegalStateExceptionが発生します。」
まず、プレーヤーを初期化したか、リリースしていないことを確認してください。
MediaPlayerは奇妙かもしれません。ロジックがすでに理にかなっている場合でも、さまざまなステートメントを試してみる価値があります。あなたがコードを投稿した場合、私はこの点であなたをもっと助けることができます。
今のところ、try-catchステートメントを使用し、何かをcatchに入れて、MediaPlayerが正しく機能していることを確認できます。
編集1:MediaPLayerに静的グローバル変数を使用している場合は、暗闇の中で推測するだけで、問題になる可能性があります。特にクラスなどを切り替えるときは、初期化と解放の方法を再確認します。