Hola, Estoy usando MediaPlayer para reproducir una transmisión regular de ShoutCast. El código es sencillo con prepareAsync() y un controlador para iniciar la reproducción. Si bien funciona sin problemas con algunas transmisiones como DI.FM o ETN.FM (http://u10.di.fm:80/di_progressive), con otras (http://mp3.wpsu.org:8000/) ganó ' pasar el estado de preparación. No se llama tampoco a otros oyentes.Android MediaPlayer se está preparando demasiado tiempo
//Uri streamUri = Uri.parse("http://u10.di.fm:80/di_progressive"); /* works */
Uri streamUri = Uri.parse("http://mp3.wpsu.org:8000/"); /* stuck on prepare state */
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(this.getBaseContext(), streamUri);
mediaPlayer.prepareAsync();
¡Cualquier comentario es apreciado!
Izvorean: Use 'adb logcat', DDMS o la perspectiva DDMS en Eclipse para examinar LogCat y busque cualquier advertencia que pueda surgir. – CommonsWare
Estoy usando depuración de Eclipse, pero el MediaPlayer no muestra mensajes de registro :( – Sergei
No sé si esto todavía es válido, pero mis 2 centavos: 1. 1. Puede imprimir mensajes en logcat usando Log. Compruebe http : //developer.android.com/reference/android/util/Log.html 2. create() es un método mejor para crear instancias de un objeto de la clase MediaPlayer. Detalles adicionales aquí: http://developer.android.com /reference/android/media/MediaPlayer.html#create(android.content.Context,%20android.net.Uri,%20android.view.SurfaceHolder) – Sriram