mMediaP.prepare();报错System.err: java.lang.IllegalStateException
时间: 2024-06-16 13:03:46 浏览: 189
Android异常 java.lang.IllegalStateException解决方法
5星 · 资源好评率100%
mMediaP.prepare() 报错 System.err: java.lang.IllegalStateException 是因为在调用 prepare() 方法之前,MediaPlayer 对象的状态不正确导致的异常。
通常情况下,MediaPlayer 对象的状态应该是以下几种:
1. Idle(空闲状态):刚创建或者调用了 reset() 方法后的状态。
2. Initialized(初始化状态):调用了 setDataSource() 方法后的状态。
3. Prepared(准备完成状态):调用了 prepare() 方法后的状态。
4. Started(播放状态):调用了 start() 方法后的状态。
5. Paused(暂停状态):调用了 pause() 方法后的状态。
6. Stopped(停止状态):调用了 stop() 方法后的状态。
7. PlaybackCompleted(播放完成状态):播放完成后的状态。
如果在调用 prepare() 方法之前,MediaPlayer 对象的状态不是 Initialized 状态,就会抛出 IllegalStateException 异常。
解决这个问题的方法是,在调用 prepare() 方法之前,确保 MediaPlayer 对象的状态正确。可以按照以下步骤进行操作:
1. 创建一个新的 MediaPlayer 对象。
2. 调用 setDataSource() 方法设置数据源。
3. 调用 prepare() 方法进行准备。
阅读全文