目录

1. 错误log

2. 错误原因

3. 解决方法


1. 错误log

        在Android Studio使用 Mediaplayer 播放本地音频,在第二次调用mediaPlayer.setDataSource() 时报错如下:

...
java.lang.IllegalStateException
        at android.media.MediaPlayer._setDataSource(Native Method)
        at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1337)
...

2. 错误原因

        该异常表示,当前对客户端的响应已经结束,不能在响应已经结束(或说消亡)后再向 客户端(实际上是缓冲区)输出任何内容。

3. 解决方法

        使用 reset() 可解决 java.lang.IllegalStateException 问题。

在 mediaPlayer.setDataSource(path); 之前加一句:

mediaPlayer.reset();即可

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐