2012-02-09 43 views
5

什么是关闭MediaController关闭MediaPlayer的正确方法?断开MediaController的正确方法是什么?

您不能这样做mediaController.setMediaPlayer(null) - 立即调用updatePausePlay,它将空值解引用。

由于MediaController要调用MediaPlayer#getCurrentPosition,并且在调用release()后会抛出IllegalStateException,因此不能调用mediaPlayer.release()

+0

尝试调用'mediaPlayer.reset()''之前mediaPlayer.release()' – Yahia 2012-04-03 19:49:28

回答

4

尝试下面的代码片段,在此为了

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

但_why_你认为这是阻止它正确的方式,不仅仅是现在有效的东西,下周也会失败? – 2012-04-08 19:51:50

+0

不是100%肯定在这个,但这是我的猜测,为什么它的正确方法。 'mediaController.hide()'停止显示mediaController,从而查询'mediaPlayer'。一旦它不再查询'mediaPlayer',你可以通过停止它然后释放它来关闭它(你可能不需要先停下来,还没有试过)。我真的没有看到任何可能会在未来失败的方式,除非您在发布mediaPlayer之后再次尝试使用相同的mediaController,而没有将其指向新的东西。这对我来说似乎是适当的。 – jp36 2012-04-10 21:31:17

相关问题