2016-05-05 4 views
1

Ich bin brandneu (47 Minuten) in Android-Entwicklung und habe ein Problem, das ich habe, ist wahrscheinlich ein einfaches.Android MediaPlayer spielen MP3 aus dem Dienst

Wie auch immer, hier ist es.

Ich würde gerne einen Webservice verwenden, der bei einer URL einen Mp3 zurückspuckt (der Browser beginnt sofort mit dem Download).

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(); 

Aus irgendeinem Grund spielt der Media Player meine MP3-Datei nicht. Warum? Muss ich es zuerst herunterladen und dann an den Media Player weitergeben?

Antwort

0

Sie müssen player.start() erst aufrufen, nachdem der Spieler vorbereitet wurde. davor bereitet sich der Spieler noch vor.

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

mehr Details Hier können http://developer.android.com/reference/android/media/MediaPlayer.html

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

+0

Brilliant dank gefunden! – pookie