Android 音乐播放器之--错误状态下调用导致的异常

时间:2022-06-17 01:44:11

MediaPlayer必须在合适的状态下调用合适的方法,否则会出现异常,下面列出常见错误信息和说明:

1、E/MediaPlayer(11310): stop called in state 1

调用 stop()之前,MediaPlayer的状态不在【StartedPausedPrepared or PlaybackCompleted state】范围内。只有在这个范围内的状态才可以调用stop()。

2、Attempt to call getDuration without a valid mediaplayer
error (-38, 0)

引起这个异常的原因有几个:
一是如果mediaPlayer对象为null,那么在执行这个方法的时候会报异常
二是在mediaPlayer对象为不可用状态的时候也会报这个错

getDuration必须在prepared回调完成后才可以调用。

3、Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=1
该方法可以只可以在【 Prepared, Paused, Started,PlaybackCompleted】 状态进行调用;