Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android: mediaplayer se fue con eventos no controlados

Necesito obtener la duración de un archivo de audio para una serie de anuncios de voz que deben reproducirse desde una aplicación. He añadido los archivos de audio como recursos y que juegan muy bien. El código de ejemplo siguiente realmente funciona perfecto para su propósito previsto: devuelve la duración de los archivos de audio.

Aquí está el código:

float getDurationOfAudioResource(LocationEnum loc, Context context){ float duration = 0; try { MediaPlayer mp; mp = MediaPlayer.create(context, getAudioResource(loc)); duration = mp.getDuration(); mp.release(); mp = null; } catch (IllegalStateException e) {e.printStackTrace(); logError(25, "TestDescItem:Fault::Could not open mediaplayer object with audio resource.");} return duration; } 

Aquí está lo extraño. Este código se llama en una actividad principal que prepara el conjunto de instrucciones de audio para una prueba dada. No hay errores dentro de esta actividad. Pero tan pronto como se llama la segunda actividad, obtengo una larga cadena de errores en logcat.

 03-07 13:23:43.820: I/ActionLogger(21435): GenTest_Info_Test #0 successfully created. 03-07 13:23:43.830: I/ActionLogger(21435): GenTest_Info_Test #1 successfully created. 03-07 13:23:43.840: I/ActionLogger(21435): GenTest_Info_Test #2 successfully created. 03-07 13:23:43.850: I/ActionLogger(21435): GenTest_Info_Test #3 successfully created. <snip> 03-07 13:23:43.910: I/ActionLogger(21435): GenTest_Info_all tests successfully created. 03-07 13:23:47.260: W/MediaPlayer(21435): mediaplayer went away with unhandled events 03-07 13:23:47.260: W/MediaPlayer(21435): mediaplayer went away with unhandled events 03-07 13:23:47.260: W/MediaPlayer(21435): mediaplayer went away with unhandled events 03-07 13:23:47.260: W/MediaPlayer(21435): mediaplayer went away with unhandled events 03-07 13:23:47.260: W/MediaPlayer(21435): mediaplayer went away with unhandled events 03-07 13:23:47.260: W/MediaPlayer(21435): mediaplayer went away with unhandled events 03-07 13:23:47.260: W/MediaPlayer(21435): mediaplayer went away with unhandled events 03-07 13:23:47.260: W/MediaPlayer(21435): mediaplayer went away with unhandled events 03-07 13:23:47.270: W/MediaPlayer(21435): mediaplayer went away with unhandled events <snip> 

He avanzado solo hasta el final de la actividad principal (sin errores) y desde la primera línea de la segunda actividad. Los errores definitivamente se lanzan entre las actividades.
Además, si comento las ocho líneas del bloque try (volviendo sólo a cero), se evitan los errores logcat. Cuando restauro las ocho líneas los errores vuelven. He cavado a través de la documentación y buscado en la web, y creo que estoy construyendo correctamente, liberando y destruyendo el objeto mediaplayer, así que no puedo ver por qué estoy recibiendo un error. Dicho esto, debo estar haciendo algo mal. ¿Algunas ideas?

Gracias,

Kevin

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.