Android MediaPlayer从服务中播放MP3

时间:2016-05-05 15:02:54

标签: android android-mediaplayer

我是一个全新的(47分钟)进入Android开发,我遇到的问题可能很简单。

无论如何,这里是。

我想使用一个网络服务,给定一个网址,吐出一个Mp3(浏览器立即开始下载)。

MediaPlayer player = new MediaPlayer();

AudioManager audioManager = (AudioManager)  getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 20, 0);

String url = "http://www.gimme-an-mp3.com/xyz";

try {
    player.setDataSource(url);
} catch (IOException e) {
    e.printStackTrace();
}
player.prepareAsync();
player.start();

由于某种原因,媒体播放器不播放我的Mp3文件。为什么?我是否必须首先下载它,然后将其传递给媒体播放器?

1 个答案:

答案 0 :(得分:0)

只有在玩家准备好之后才能调用player.start()。 在此之前,玩家仍在准备中。

player.prepareAsync();
player.setOnPreparedListener(new OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mediaPlayer) { 
        mediaPlayer.start();
    }
});

更多细节可以在http://developer.android.com/reference/android/media/MediaPlayer.html

找到

Android: correct usage of PrepareAsync() in media player activity