繁体   English   中英

Android MediaPlayer java.io.IOException: Prepare failed.: status=0x1, 无法修复

[英]Android MediaPlayer java.io.IOException: Prepare failed.: status=0x1, cant fix

我已经尝试了很多东西......但似乎都没有用。 其中大部分来自这里: Android MediaPlayer java.io.IOException: Prepare failed.: status=0x1

所以我尝试在 android 中使用 MediaPlayer 播放音乐,但准备总是失败并出现相同的异常。 这是我的 onStartCommand 函数:

@Override
    public int onStartCommand(Intent intent,int flags, int startId)
    {
        Toast.makeText(this, "Service on start", Toast.LENGTH_LONG).show();
        String lnk = intent.getExtras().getString("link");
        mediaPlayerM.reset();
        if(!mediaPlayerM.isPlaying())
        {
            try
            {
                mediaPlayerM.setDataSource(lnk);
                mediaPlayerM.setAudioStreamType(AudioManager.STREAM_MUSIC);
                mediaPlayerM.prepare();
            }
            catch (Exception e)
            {
                System.out.print(e.toString());
                Toast.makeText(this, e.toString(), Toast.LENGTH_LONG).show();
            }
        }
        return START_STICKY;
    }

和 onPrepared 函数:

public void onPrepared(MediaPlayer mp)
    {
        if(!mediaPlayerM.isPlaying())
        {
            mediaPlayerM.start();
        }
    }

所以基本上我尝试调试,每次变量 e(这是例外)都是相同的java.io.IOException: Prepare failed.: status=0x1.

顺便说一句,我传递的 URL 是: http://www.ilemon.mobi/fightnIncastle1.mp3 ://www.ilemon.mobi/fightnIncastle1.mp3,应该可以正常工作。

TL;DR:我的问题是,为什么每当我使用 mediaPlayer.prepare() 方法时它都会引发期望。 我使用 setDataSource 传递 URL。 并且 prepare 应该在准备好播放音频时调用 onPrepared ...但是由于某种原因再次发生异常。 而且我不确定为什么会这样……这就是我要问的。 (我拥有清单中的所有权限)

尝试使用https://www.ilemon.mobi/fightnIncastle1.mp3作为 URL。 我怀疑这与非 https 流有关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM