2011-08-29 5 views
6

Sto provando a riprodurre un file audio con il clic del pulsante, ma il mio URL audio viene fornito da internet ad esempio http://www.example.com/sound.mp3. Come posso giocare quando si fa clic sul pulsante, utilizzando un lettore multimediale.Riproduzione di un file audio da Internet quando si fa clic su un pulsante

Esempio: questo è il modo di giocare dei file locali

 b.setOnClickListener(new View.OnClickListener() { 
     @Override public void onClick(View v) { 
     MediaPlayer mp = MediaPlayer.create(this, R.raw.mmmm); 
     mp.start(); 
     } 
     }); 

voglio giocare questo suono http://www.example.com/sound.mp3 rappresentano R.raw.mmmm, senza scaricare questo suono.

+0

Non scaricando intendi lo streaming? Android non può fare lo streaming reale per quanto ne so. – mibollma

risposta

18

Media Player ha funzione greate in android.You in grado di gestire tutti gli eventi che occurred.So questo è il codice per riprodurre un file (locale o URL in linea)

String url = "http://........"; // your URL here 
MediaPlayer mediaPlayer = new MediaPlayer(); 
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
mediaPlayer.setDataSource(url); 
mediaPlayer.prepareAsync(); 
//You can show progress dialog here untill it prepared to play 
mediaPlayer.setOnPreparedListener(new OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      //Now dismis progress dialog, Media palyer will start playing 
      mp.start(); 
     } 
    }); 
    mediaPlayer.setOnErrorListener(new OnErrorListener() { 
     @Override 
     public boolean onError(MediaPlayer mp, int what, int extra) { 
      // dissmiss progress bar here. It will come here when MediaPlayer 
      // is not able to play file. You can show error message to user 
      return false; 
     } 
    }); 
+2

Accettalo come risposta se ha risolto il tuo problema. – Sameer

0

Se volete giocare a questo suona localmente, devi prima scaricarlo.

Non è possibile "riprodurre qualcosa da Internet" poiché la macchina che sta riproducendo quel suono è la macchina locale. Deve avere una copia di quello MP3.

Dopodiché, potrebbero esserci dei modi per iniziare a giocare prima del completamento del download, ma ci sarà comunque un download.

EDIT: AndroidDeveloper, in un'altra replica di quella pagina, ti ha dato informazioni su come fare lo streaming (+1!). Questo corrisponde a quanto ho detto sopra, quindi sembra che ci sia un modo per iniziare a giocare prima che il download sia effettivamente completato, anche se questo download sarà successo alla fine.

+0

ma lo vedo riprodurre suoni da internet – boyyes90