Reproducir un archivo de sonido de Internet cuando se hace clic en un botón
Estoy tratando de reproducir un archivo de sonido en el botón de clic, pero mi URL de sonido se forma internet, por ejemplo http://www.example.com/sound.mp3 . ¿Cómo puedo jugar cuando se hace clic en el botón, usando un reproductor de medios.
Ejemplo: Esta es la forma de reproducir el archivo local
- ¿Cómo enlazar mis archivos de Media Player?
- Ecualizador - Biblioteca de efectos no cargada
- Forzar el vídeo para que se reproduzca en Orientación vertical sólo con MediaPlayer y VideoView
- Subtítulos / Soporte de subtítulos en Android
- Reproducción de archivos .wav cortos - Android
b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { MediaPlayer mp = MediaPlayer.create(this, R.raw.mmmm); mp.start(); } });
Quiero reproducir este sonido http://www.example.com/sound.mp3 representar R.raw.mmmm, sin descargar este sonido.
- ¿Existe una mejor manera de guardar archivos de streaming con MediaPlayer?
- ¿Cómo desactivar mi servicio multimedia para una llamada entrante? Mi AudioManager no funciona
- Imagen de botón de reproducción / pausa en la notificación, Android
- Cómo reproducir archivos de audio en android
- ¿Cómo hacer una aplicación móvil DLNA android?
- ¿Por qué MediaPlayer muestra tanto el registro de Verbose en android?
- Estado de reproducción de Android MediaPlayer
- Android MediaPlayer devuelve el error (1, -1004) al intentar reproducir algunos flujos
Media Player tiene una característica de greate en android.You puede manejar todo el evento que occur.So este es el código para reproducir un archivo (Url local o en línea)
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; } });
Si desea reproducir este sonido localmente, primero tiene que descargarlo.
Usted apenas no puede "jugar algo del Internet" pues la máquina que está jugando ese sonido es su máquina local. Necesita tener una copia de la que MP3.
Después de eso, puede haber formas de empezar a jugar antes de que la descarga finalice, pero habrá una descarga de todos modos.
EDIT : AndroidDeveloper , en otra respuesta de esa página, le dio información sobre cómo hacer streaming (+1!). Esto corresponde a lo que he dicho anteriormente, por lo que parece que hay una manera de empezar a jugar antes de que la descarga realmente se completa, aunque esta descarga habrá ocurrido al final.
- No puedo crear un emulador en Android AVD Manager
- Llamar a DeleteLocalRef en la interfaz nativa de java