如何在Android[Nexus 5,7]上的MediaPlayer中播放HTTPS音频流

如何在Android[Nexus 5,7]上的MediaPlayer中播放HTTPS音频流,android,audio,https,Android,Audio,Https,我们的应用程序必须从网络源流式播放音乐。我的问题是,当我使用http流播放音乐时,为什么mediaplayer播放得很好,但当我在某些设备中使用https流源播放音乐时,总是出现错误(1,-1004)**重要提示:*它只在某些设备中出现此错误(1,-1004),如Nexus5、Nexus7和Asus Fonepad 7 以下是一个片段: String url ="http://10.0.0.45/O0$1$8I87308.mp3"; MediaPlayer myMediaPla

我们的应用程序必须从网络源流式播放音乐。我的问题是,当我使用http流播放音乐时,为什么mediaplayer播放得很好,但当我在某些设备中使用https流源播放音乐时,总是出现错误(1,-1004)**重要提示:*它只在某些设备中出现此错误(1,-1004),如Nexus5、Nexus7和Asus Fonepad 7

以下是一个片段:

    String url ="http://10.0.0.45/O0$1$8I87308.mp3";

    MediaPlayer myMediaPlayer = new MediaPlayer();
    myMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    try {
        myMediaPlayer.setDataSource(url);
        myMediaPlayer.prepareAsync(); // might take long! (for buffering, etc)

    } catch (IOException e) {
        Toast.makeText(this, "mp3 not found", Toast.LENGTH_SHORT).show();
        e.printStackTrace();
    }

    //mp3 will be started after completion of preparing...
    myMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

        @Override
        public void onPrepared(MediaPlayer player) {
            player.start();
            System.out.println("onPrepared");
        }

    });

尝试prepare()而不是prepareAsync(),如果它有效,请报告。感谢您的建议,但它仍然不起作用,我将得到另一个类似这样的异常:java.io.IOException:prepare failed.:status=0x1