2 say from wen say_from_wen 于 2017.09.01 19:49 提问

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
分享到:

2个回答

dongfeng9ge
dongfeng9ge   Ds   Rxr 2017.09.02 17:47
已采纳

你把调用MediaPlayer的代码贴上

say_from_wen
say_from_wen 谢谢您的回答 我在网上查了点也 代码很多 我也不知道贴什么 情况这样的,我视频正常播放 说明已经准备完成了 其实我的意思是这个onerror方法的调用有什么情况,看源码onerror方法调用后 onCompletion 但是我这个方法中有对应的逻辑 会出错 现在闹不懂为什么视频正常播放下为什么会调用这个onerror方法。
3 个月之前 回复
say_from_wen
say_from_wen   2017.09.04 10:12

谢谢您的回答 我在网上查了点也 代码很多 我也不知道贴什么 情况这样的,我视频正常播放 说明已经准备完成了 其实我的意思是这个onerror方法的调用有什么情况,看源码onerror方法调用后 onCompletion 但是我这个方法中有对应的逻辑 会出错 现在闹不懂为什么视频正常播放下为什么会调用这个onerror方法。

Csdn user default icon
上传中...
上传图片
插入图片