2011-08-29 15 views
6

Estoy intentando reproducir un archivo de sonido al hacer clic en el botón, pero mi URL de sonido procede de Internet, por ejemplo, http://www.example.com/sound.mp3. ¿Cómo puedo jugar cuando se hace clic en el botón, usando un reproductor multimedia?Reproducir un archivo de sonido desde Internet cuando se hace clic en un botón

Ejemplo: Esta es la manera de jugar de archivos local

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

quiero jugar este sonido http://www.example.com/sound.mp3 representan R.raw.mmmm, sin necesidad de descargar este sonido.

+0

Al no descargar, ¿quiere decir transmitirlo? Android no puede hacer transmisión real todavía, hasta donde yo sé. – mibollma

Respuesta

18

Media Player cuenta con función de greate en android.You puede manejar todas occurred.So caso de que este es el código para reproducir un archivo (ya sea local o en línea Url)

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

Aceptarlo como respuesta si resolvió su problema. – Sameer

0

Si desea jugar a este suena localmente, debes descargarlo primero.

Simplemente no puede "reproducir algo de Internet" ya que la máquina que está reproduciendo ese sonido es su máquina local. Necesita tener una copia del MP3.

Después de eso, puede haber formas de comenzar a jugar antes de que se complete la descarga, pero de todos modos habrá una descarga.

EDITAR: AndroidDeveloper, en otra respuesta de esa página, se dio información acerca de cómo hacer el streaming (1!). Esto corresponde a lo que he mencionado anteriormente, por lo que parece que HAY una forma de comenzar a jugar antes de que la descarga se complete, aunque esta descarga se haya realizado al final.

+0

pero lo veo reproducir el sonido de Internet – boyyes90

Cuestiones relacionadas