android - Mediaplayer 在 reset() 和 prepareAsync() 调用时抛出 Error(-38,0)

标签 android android-mediaplayer

我有这段代码:

    try
        {
            mMusicPlayer.reset();
            FileInputStream fis = new FileInputStream(pathToTitleFile);
            mMusicPlayer.setDataSource(fis.getFD());
            mMusicPlayer.prepareAsync();
        }
        catch (Exception e){}

当我跳过一首歌时,有时会出现两个 Error/error(-38,0)。 我已经对其进行了调试,并且在以下代码部分引发了错误: reset() 调用后的错误 (-38,0)。调用 prepareAsync() 后的 Error(-38,0)。 在此之后,播放器调用 onPrepare() 回调并跳回并再次执行 try-block。在播放歌曲之前会重复几次。 奇怪的是,我没有得到关于错误的任何其他信息,错误 (-38,0) 似乎是一个“一般错误”。

最佳答案

基于此处 MediaPlayer reset

将 MediaPlayer 重置为未初始化状态。调用此方法后,您必须通过设置数据源并调用 prepare() 来再次初始化它。

需要重新初始化MediaPlayer

关于android - Mediaplayer 在 reset() 和 prepareAsync() 调用时抛出 Error(-38,0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10450065/

相关文章:

android - 我在哪里可以获得Android相机应用程序源代码?

Android:跨应用程序生命周期持久化数据

java - 如何在android中获取物理键盘布局

android - 如何从 RecyclerView 获取修改后的数据?

android - com.google.firebase.FirebaseException : An internal error has occurred. [ API key 无效。请传递有效的 API key 。 ]

java - Android - 无法在启动屏幕上播放歌曲

android - 实时 RTSP 流将不会与 VideoView 一起播放;无内容提供者错误

android - MediaPlayer 开始在状态 0(错误 -38、0)中调用,android?

android - java.lang.IllegalStateException : Not allowed to start service Intent while trying to run RingtoneService 错误

android - mediaPlayer 停止时触发事件