Cargar múltiples archivos de audio desde el servidor y reproducirlos en reproductores de audio separados

Estoy desarrollando una aplicación en la que necesito recuperar varios archivos de audio del servidor y mostrarlos en una actividad. Si hay dos archivos de audio en el servidor, dinámicamente se deben mostrar dos reproductores de audio en mi actividad, si hay 5 archivos de audio, entonces 5 los reproductores de audio deben venir con sus respectivos archivos de audio. Recuperar un archivo de audio y reproducirlo es fácil. Lo que necesito es recuperar más de 1 archivo de audio y reproducirlos en reproductores separados. ¿por favor ayuda?

preguntado el 02 de julio de 12 a las 10:07

1 Respuestas

Debe usar la clase MediaPlayer para transmitir su audio desde un servidor remoto. Puede configurar la URL de transmisión haciendo esto:

MediaPlayer mMediaPlayer = new MediaPlayer(); // initialize it here
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnErrorListener(this);
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

mMediaPlayer.setDataSource("http://yoursongurl.com");

Si desea tener varios reproductores de transmisión independientes en la misma actividad, debe crear instancias de reproductores multimedia dinámicamente diferentes. Algo como eso

String[] urls = { "url1", "url2" };
MediaPlayer[] media = new MediaPlayer[ urls.length ];

for(int i = 0; i < urls.length; i++){
    media[i] = createMediaPlayer( url );
}


private MediaPlayer createMediaPlayer(String url){
     mMediaPlayer = new MediaPlayer(); // initialize it here
     mMediaPlayer.setOnPreparedListener(this);
     mMediaPlayer.setOnCompletionListener(this);
     mMediaPlayer.setOnErrorListener(this);
     mMediaPlayer.setOnBufferingUpdateListener(this);
     mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

     mMediaPlayer.setDataSource(url);

    return mMediaPlayer;
}

Tener múltiples reproductores multimedia para múltiples canciones es la solución más simple pero también la menos eficiente. Si desea una solución más eficiente, puede instalar un solo reproductor multimedia y guardar el estado de la canción anterior cuando desee reproducir la siguiente en tiempo de ejecución.

Puedes encontrar alguna referencia aquí: http://developer.android.com/reference/android/media/MediaPlayer.html

Respondido 02 Jul 12, 10:07

¿Cómo se asegurará esto de que el orden no cambie? - Shajeel Afzal

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.