2013-12-17 20 views

risposta

9

provare a fare questo:

MediaPlayer mp = new MediaPlayer(/*Your-Context*/); 
mp.setDataSource(/*MP3 file's Url*/); 
mp.setOnPreparedListener(new OnPreparedListener(){ 
onPrepared(MediaPlayer mp) 
{ 
mp.start(); 
} 
}); 
mp.prepareAsync(); 
+0

come possiamo fermare l'audio durante la sua riproduzione di –

+0

Per arrestare: mp.stop(); e mettere in pausa: mp.pause(); –

+0

come posso eseguire un file audio mp3 online nel servizio mediaplayer – Harsha

30
try { 
    MediaPlayer player = new MediaPlayer(); 
    player.setAudioStreamType(AudioManager.STREAM_MUSIC); 
    player.setDataSource("http://xty/MRESC/images/test/xy.mp3"); 
    player.prepare(); 
    player.start();  
} catch (Exception e) { 
    // TODO: handle exception 
} 
+0

@ dipali.Grazie, ho capito che il tuo codice funziona perfettamente, ma quando si preme di nuovo durante la riproduzione dell'audio, il pulsante di riproduzione ir viene chiuso forzatamente. –

+0

@dipali Ho ricevuto un avviso: Attività non avviata, il suo compito corrente è stato portato in primo piano. Mi puoi spiegare! – iCrazybest

+0

Supponendo che un'intestazione corretta sia impostata sulla risorsa uri, il file verrà memorizzato nella RAM o il file audio verrà scaricato ogni volta che lo riproduciamo? – GA1

5

Se si vuole semplicemente aprire il flusso nel lettore musicale di default (in modo che non si ha a che fare con pulsanti del lettore di attuazione, continuando in esecuzione in sfondo, ecc), è possibile utilizzare un Intent:

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.parse("http://example.com/file.mp3"), "audio/mp3"); 
startActivity(intent); 

Se non sei attualmente in un'attività, utilizzare getBaseContext().startActivity(intent), o qualcosa d'altro in modo che si può chiamare startActivity() su un oggetto Context.