say_from_wen 2017-09-01 11:49 采纳率: 100%
浏览 3255
已采纳

mediaplayer在播放过程中触发了onerror方法调用getDurtion方法 返回值是负数

mediaplayer在播放过程中自动触发了onerror方法,调用getDurtion方法 发生错误 返回值是负数

E/MediaPlayer: Attempt to call getDuration in wrong state: mPlayer=0x75c09cc0c0, mCurrentState=0
E/MediaPlayer: error (-38, 0)
E/error: -230755392 getDurtion的值
E/error: 1698650 当前播放时长

网上查说是这些原因
1.在初始化MediaPlayer时,通过create方法设置数据源。则不能写MediaPlayer.prepare()方法,这时,会报错。

2.如果是使用MediaPlayer构造函数初始化MediaPlayer,然后通过setDataSource方法设置数据源时,就需要在start()之前,使用MediaPlayer.prepare()方法,对数据源进行一次编译。能够避免出现(-38,0)这种错误。

我感觉我的不是 望做过这方便的大神解答
更多
0
分享到:

  • 写回答

3条回答 默认 最新

  • 东风玖哥 2017-09-02 09:47
    关注

    你把调用MediaPlayer的代码贴上

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?