码迷,mamicode.com
首页 > 其他好文 > 详细

Attempt to call getDuration without a valid mediaplayer

时间:2015-02-28 16:13:41      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

最近在做一个播放器的小例子,中途遇到 了这个错:

 Attempt to call getDuration without a valid mediaplayer


解决参考方案如下:


一是如果mediaPlayer对象为null,那么在执行这个方法的时候会报异常

二是在mediaPlayer对象为不可用状态的时候也会报这个错

为此,我查了一下书,顺便学习了一下MediaPlayer的生命周期,书中是这样解释的:

1)  当一个MediaPlayer对象被新建或调用reset()方法之后,它处于空闲状态,在调用release方法之后,才会处于结束状态。

2)  一个新建的MediaPlayer对象在调用getCurrenProgress()、getDuration、getVideoHeight()、getVideoWith()、setAudioStreamType(int)、setLooping(boolean)、setVolume(float,float)、pause()、start()、stop()、seekTo()、prepare()、prepareAsync()方法时,不会触发OnErrorListenerError()事件,但是MediaPlayer对象如果调用了reset()方法后,再使用这些方法则会触发OnErrorListenerError()事件。

所以,当你调用了reset()方法后,又调用getDuration()时,就会报异常

Attempt to call getDuration without a valid mediaplayer

标签:

原文地址:http://www.cnblogs.com/Free-Thinker/p/4305385.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!