android mediaPlayer error (-38,0)

分類:編程 時間:2016-11-06
[摘要:之前寫音樂播放的時間用Mediaplayer時湧現-38的error,參考專客點竄樂成(我是題目兩),那裏紀錄一下: 本文:http://blog.sina.com.cn/s/blog_632b619d01012991.html 湧現那]

之前寫音樂播放的時候用Mediaplayer時出現-38的error,參考博客修改成功(我是問題二),這裏記錄一下:
原文:http://blog.sina.com.cn/s/blog_632b619d01012991.html

出現這個錯誤發現在mediaPlayer.reset()後調用了mediaPlayer.getDuration()
在沒有給mediaPlayer對象設置數據源之前,是不能使用getDuration等這些方法的

05-05 09:35:01.861: W/dalvikvm(1618): threadid=45: thread exiting with
uncaught exception (group=0x4001aa28) 05-05 09:35:01.861:
E/androidRuntime(1618): Uncaught handler: thread Thread-38 exiting due
to uncaught exception 05-05 09:35:01.861: E/AndroidRuntime(1618):
Java.lang.IllegalStateException 05-05 09:35:01.861:
E/AndroidRuntime(1618): at
android.media.MediaPlayer.getCurrentPosition(Native Method) 05-05
09:35:01.861: E/AndroidRuntime(1618): at
chris.mediaPlayer.service.Mp3PlayerService$SeekBarRunnable.run(Mp3PlayerService.java:180)
05-05 09:35:01.861: E/AndroidRuntime(1618): at
java.lang.Thread.run(Thread.java:1060)

當然還有可能是其他原因因其這類錯誤:
http://blog.csdn.net/ranger1111/article/details/6284806

在android開發中,經常會用到MediaPlayer。

在使用MediaPlayer時,有時候會遇到:MediaPlayer(362): error (-38, 0) 類似的錯誤。

這時,需要檢查一下在設置MediaPlayer的數據源時,使用的是那種方式:

1.在初始化MediaPlayer時,通過create方法設置數據源。則不能寫MediaPlayer.prepare()方法,這時,會報錯。

2.如果是使用MediaPlayer構造函數初始化MediaPlayer,然後通過setDataSource方法設置數據源時,就需要在start()之前,使用MediaPlayer.prepare()方法,對數據源進行一次編譯。能夠避免出現(-38,0)這種錯誤。

ps:如果是apk裏,寫好的文件。可能還需要“”chmod 777 ”修復一下權限。

安卓開發中的錯誤 傳送中…


Tags:

文章來源:


ads
ads

相關文章
ads

相關文章

ad