android mediaPlayer error (-38,0) prepare()调用报错解决办法
2013-05-21 09:48
609 查看
出现这个错误发现在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 exception05-05 09:35:01.861: E/AndroidRuntime(1618): java.lang.IllegalStateException05-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 ”修复一下权限。
Uncaught handler: thread Thread-38 exiting due to uncaught exception05-05 09:35:01.861: E/AndroidRuntime(1618): java.lang.IllegalStateException05-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 ”修复一下权限。
相关文章推荐
- android mediaPlayer error (-38,0) prepare()调用报错解决办法
- AndroidMediaPlayer.prepare已经报错解决办法
- android mediaPlayer error (-38,0) 解决方法
- android mediaPlayer error (-38,0)
- Android Mediaplayer error (1, -2147483648) Error (-38,0)解决方案(网络记载和本地加载两种情况)
- android MediaPlayer java.io.IOException: Prepare failed.: status=0x1 解决
- Android MediaPlayer Error (-38, 0) “stop called in state 0”
- Android项目更换开发环境时出现的 java.lang.VerifyError 异常解决办法
- 编译Android 7.0(N) jack error 解决办法
- 解决办法Android中Error generating final archive: Debug certificate expired on
- android Error generating final archive: Debug certificate expired on的解决办法
- 关于Ionic run android 的Error executing "adb devices": error解决办法
- Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found解决办法
- android 调用javascript 无法弹出Alert的解决办法
- 【已解决】unity4.2.0f4 导出Android工程报错:Error building Player: ArgumentException: Illegal characters in path. [unity导出android工程 报错,路径含有非法字符]
- 关于导入moudle遇到的错误Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found解决办法
- android WebView调用文件管理器,点击返回键退出app的解决办法
- Android不能调用java.awt的原因及解决办法和思考
- android The connection to adb is down, and a severe error has occured.问题的解决办法
- Android Studio "Error:Failed to find: com.android.support:XXXX"错误解决办法