实习入职第十四天:stop called in state 4
2016-06-03 09:33
323 查看
06-02 22:02:49.464: E/MediaPlayer(14764): stop called in state 4
06-02 22:02:49.464: E/MediaPlayer(14764): error (-38, 0)
出现这个问题的原因:跟踪代码发现 是走到prepare那里发生错误,应该是由 框架层发出来的
也就是没有准备好,或者准备出错,还有一种情况就是准备好了,没有输入到surfaceView,无法输出 IO错误,不是异常,
我的原因就是 surfaceViewCreated 里面立马播放,报出这个错误,
如果是点击事件就没有错误,
最后检查发现,根源在surfaceView的错误,
如果surfaceView还没有创建完成,你去播放,是失败的,
如果你再surfaceCreated里面写 立马播放,还是可能失败的,准备是一个异步过程,不清楚是不是这里面不能执行异步的过程不,之后我用handler。post提交,完全可以播放,
再也没有这个错误了,
所以问题是出在surfaceView,他创建和销毁都需要时间
当然我的代码中情况比较特殊,view销毁之后立马又创建
06-02 22:02:49.464: E/MediaPlayer(14764): error (-38, 0)
出现这个问题的原因:跟踪代码发现 是走到prepare那里发生错误,应该是由 框架层发出来的
也就是没有准备好,或者准备出错,还有一种情况就是准备好了,没有输入到surfaceView,无法输出 IO错误,不是异常,
我的原因就是 surfaceViewCreated 里面立马播放,报出这个错误,
如果是点击事件就没有错误,
最后检查发现,根源在surfaceView的错误,
如果surfaceView还没有创建完成,你去播放,是失败的,
如果你再surfaceCreated里面写 立马播放,还是可能失败的,准备是一个异步过程,不清楚是不是这里面不能执行异步的过程不,之后我用handler。post提交,完全可以播放,
再也没有这个错误了,
所以问题是出在surfaceView,他创建和销毁都需要时间
当然我的代码中情况比较特殊,view销毁之后立马又创建