Android MediaPlayer can't play web media:Prepare failed.: status=0x1

天涯浪子 提交于 2020-01-03 05:50:09

问题


I want to play a song from web service, and I wrote code as follow

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.content);

    startButton = (ImageButton) findViewById(R.id.start);

    Intent intent = getIntent();
    mp3Path = intent.getStringExtra("mp3Path");

    player = new MediaPlayer();

    startButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            try {
                if(player != null)
                    player.stop();
                player.setDataSource(mp3Path);
                player.prepare();
                player.start();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    });
}

But when I click that button, it throws the following exception and I'm told there are errors about prepare:

04-13 17:23:13.186: E/MediaPlayer(401): stop called in state 1
04-13 17:23:13.186: E/MediaPlayer(401): error (-38, 0)
04-13 17:23:13.206: E/MediaPlayer(401): error (1, -2147483648)
04-13 17:23:13.206: W/System.err(401): java.io.IOException: Prepare failed.: status=0x1
04-13 17:23:13.226: W/System.err(401):  at android.media.MediaPlayer.prepare(Native Method)
04-13 17:23:13.226: W/System.err(401):  at com.Android.SampleActivity$1.onClick(SampleActivity.java:50)

回答1:


You Need to implement Streaming Media Player. Here is an Example. Hope it will help you.



来源:https://stackoverflow.com/questions/10145566/android-mediaplayer-cant-play-web-mediaprepare-failed-status-0x1

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!