1

我正在使用MediaPlayer在我的應用中播放音樂。當我需要暫停和恢復時,我使用mPlayer.isPlaying()檢查狀態,但是這有時會引發非法狀態異常。媒體播放器isPlaying拋出非法狀態android

爲什麼會發生這種情況?你應該在這些時間做什麼?你如何確定玩家的狀態?

+3

請顯示編碼:) 也Logs。謝謝! – 2012-08-31 03:58:53

回答

5

根據Android的文檔:

「 IllegalStateException異常如果內部播放引擎尚未初始化或已被釋放」

我會先說確保你已經初始化和/或沒有釋放玩家。

雖然MediaPlayer可能很奇怪,即使邏輯已經有意義,也應該使用不同的語句來演奏;如果您發佈了代碼,我可以在這方面爲您提供更多幫助。

現在,您可以使用try-catch語句並在catch中添加一些內容以確保MediaPlayer正常工作。

編輯1:只要在黑暗中猜測,如果您爲MediaPLayer使用靜態全局變量,那可能是問題所在。我會仔細檢查它是如何被初始化和釋放的,特別是在類和類之間切換時。

+0

是的,我正在使用靜態MediaPlayer對象。我會再次檢查發生了什麼,然後回來。謝謝! – Namratha

+0

如何在setDataSource調用中使用它之前檢查文件路徑是否是有效的文件路徑? – Namratha