zoukankan      html  css  js  c++  java
  • android mediaPlayer error (38,0) prepare()调用报错解决办法

    出现这个错误发现在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 ”修复一下权限。

  • 相关阅读:
    20.12.21 leetcode316
    20.12.18 leetcode389
    NOIP2017退役记
    DNA序列 LOJ NOIP模拟赛 D1T1 字符串哈希
    解药还是毒药 codevs2594 状态压缩 BFS
    换教室 vijos2005 NOIP2016 D1T3 期望DP 图论最短路(雾)
    都市大飙车 UESTC 1652 概率DP
    添加括号 vijos1038 动态规划 区间DP
    一道神奇的并查集
    还有一道神奇的暴力(正解是要旋转坐标轴的)
  • 原文地址:https://www.cnblogs.com/xieyuan/p/3787415.html
Copyright © 2011-2022 走看看