2012-02-09 18 views
5

MediaPlayerを添付してMediaControllerをシャットダウンする正しい方法はありますか?MediaControllerを切断する正しい方法は何ですか?

mediaController.setMediaPlayer(null)は実行できません。すぐにnullをデリファレンスするupdatePausePlayを呼び出します。

MediaControllerがMediaPlayer#getCurrentPositionを呼び出す予定で、release()が呼び出された後にIllegalStateExceptionをスローするため、mediaPlayer.release()を呼び出すことはできません。

+0

呼び出してみてください 'mediaPlayer.reset()' 'mediaPlayer.release()の前に' – Yahia

答えて

4

がこの順に、以下のスニペットを試してみてください

mediaController.hide(); 
mediaPlayer.stop(); 
mediaPlayer.release(); 
+0

しかし、あなたは、これはそれを止めるための正しい方法である_why_だと思います、来週にはうまくいくものではないでしょうか? –

+0

これは100%確かではありませんが、ここに私の推測は、なぜ正しい方法です。 'mediaController.hide()'は、mediaControllerが表示されるのを止め、 'mediaPlayer'に問い合わせます。もう一度 'mediaPlayer'に問い合わせていなければ、それを止めてから解放することができます(最初に停止する必要はないかもしれません)。あなたが新しい何かを指さずにmediaPlayerをリリースした後、同じmediaControllerを再び使用し始めるのでなければ、これが将来失敗することはありません。これは私にとって正しいようです。 – jp36

関連する問題