Tipo de archivo no compatible: ¿Por qué mi Samsung Galaxy S de repente dejó de admitir archivos MP3?

De repente, mi Samsung Galaxy S afirma que no admite archivos mp3 (el teléfono ha estado inactivo durante unas horas, no toqué nada). Sin embargo, los archivos Ogg aún se reproducen sin problemas. Cuando esto sucede, ninguna aplicación puede reproducir archivos mp3, por ejemplo, mi tono de llamada personalizado ya no se reproduce (simplemente vibra como si estuviera silenciado). Un reinicio del teléfono soluciona el problema, pero dentro de 3-4 días el problema vuelve. No importa si los archivos se almacenan en una tarjeta SD interna o externa.

Esto también afecta la reproducción de video, solo que no estoy seguro de si sucede al mismo tiempo o de forma independiente. La aplicación de YouTube ya no puede iniciar videos (problema de reproducción desconocido) y la aplicación del reproductor de video afirma que todos los archivos de video no son compatibles. Supongo que el problema puede no ser la reproducción del video en sí, sino el códec de audio utilizado en el video (mp3).

¿Alguna idea de cómo solucionar esto o depurar esto? No quiero reiniciar mi teléfono cada dos días; se necesitan de 2 a 3 minutos para hacerlo y el teléfono debería funcionar.

Apliqué el firmware 2.2.1 últimamente y esto solo pareció empeorar el problema. Tenía esto antes de 2.2.1 (con 2.2) pero muy raramente.

Tengo curiosidad por saber si TitaniumBackup puede ser el culpable, ya que el programador de copias de seguridad parece detener los procesos a veces. ¿Quizás otras personas que experimentan este problema también usan copias de seguridad de titanio programadas? La sugerencia fue que, desde que actualicé a 2.2.1, también actualicé a la versión con licencia de TitaniumBackup y programé copias de seguridad diarias. Pero esto puede ser sólo una coincidencia. Lo que contradice esta teoría: las copias de seguridad están programadas para la noche, pero la última vez que vi este problema sucedió durante el día: el mp3 funcionó por la mañana, falló por la tarde. El teléfono estuvo inactivo durante el tiempo que "decidió" no reproducir más mp3.

Mirando los foros (solo encontré algunos resultados en Google), las personas que tienen los mismos problemas sugieren simplemente reiniciar el teléfono, pero eso no es una solución. O sugieren devolver el teléfono para que lo reemplacen, y adivinen qué: no ha solucionado el problema para las personas que experimentan este problema. Así que sugiero que no es un problema de hardware (ni relacionado con las tarjetas SD ni con el teléfono en sí).

Me ha pasado el mismo problema dos veces ahora, pero no puedo forzar el problema. Por cierto: no uso Titanium Backup, por lo que probablemente puedas eliminarlo de tu lista de culpables.
@Matt No creo que esto ayude. Por un lado, está mi contradicción, por otro lado está @bjoernz confirmando que también está sucediendo sin TB instalado.
Por cierto: sospecho que la aplicación MediaFly o Adobe Flash es la culpable...
@bjoern No uso MediaFly, así que puedes tachar eso. Pero, ¿cómo encaja Flash en la imagen?
Tal vez fue injusto sospechar de Flash... Fui a un sitio web con video (twitvid), después de eso no pude reproducir archivos multimedia, pero no estoy seguro si esa fue la causa... Tendré reiniciar mi teléfono pronto y ver si eso realmente estaba relacionado con el problema.
Solo traté de repetir los pasos que pensé que eran los responsables del problema, pero todo sigue funcionando bien...
@bjoern Tal vez solo sea un efecto secundario de lo que Flash está haciendo, y puede ser un efecto secundario de lo que Titanium Backup le está haciendo al sistema. ¿Quizás limitaciones de memoria?
Esto se está poniendo ridículo. Desde que comenté esta pregunta, puedo observar este efecto cada 2 o 3 días... y todavía no puedo imponer este comportamiento. Por cierto: no solo afecta a los MP3, los archivos de video (*.mp4) también se ven afectados.
¿Podría publicar el logcat? * Instale SL4A (desde Market, también llamado ASE, o desde aquí: code.google.com/p/android-scripting * Abra SL4A, Menú->Ver->Logcat * Menú->Compartir->{Su método favorito para compartir }
Instalé SL4A y parecía muy agotador para la batería...
Pierdo el soporte de mp3 en pocas horas. Yo también tengo twitter, copia de seguridad de titanio, aplicaciones winamp. ¿Hay alguna forma de descargar la clase mediaplayer de jvm?

Respuestas (8)

Creo que encontré el problema.

Como dijo bjoernz, alguna aplicación está creando muchos objetos de la clase MediaPlayer y no los libera después. Entonces, abrí un shell de adb , me convertí en root ( su ) y encontré el PID (ID de proceso) de mediaserver, usando el comando:

pd | servidor de medios grep

El PID del mediaserver, en mi caso, es: 84

Luego, enumeré todos los recursos utilizados por ese PID con el comando:

lsof | grep 84

Y obtuve el siguiente resultado:ingrese la descripción de la imagen aquí

Entonces, fue fácil identificar que la aplicación oficial de Twitter ( com.twitter.android-1.apk ) era el problema. Luego eliminé la aplicación de Twitter e instalé TweetDeck en su lugar y el problema desapareció desde la semana pasada.

Espero que esto le pueda ayudar.

[]'s

Esto es interesante...

Un último recurso es siempre un restablecimiento de fábrica, lo que debería solucionar este problema. También podría echar un vistazo a la salida de logcat, tal vez esto le dé una pista sobre la causa del problema.

Cuando actualicé a 2.2.1, realicé un restablecimiento de fábrica nuevo; esencialmente, esta es la razón por la que compré la licencia de TB (restaurar 100 aplicaciones mediante confirmación manual superó mi paciencia)
Aunque realmente no quería hacer un restablecimiento de fábrica, lo intenté el viernes y el problema no ha ocurrido desde entonces. Si bien no estoy seguro, si el problema desaparece definitivamente, te otorgaré la recompensa, para que no se desperdicie :-)
El problema aun persiste :-(
@bjoern: Ya estaba seguro de que un restablecimiento de fábrica no ayuda.
@hurikhan77: Quería hacerlo de todos modos ;-)

Finalmente tuve la oportunidad de mirar el logcat mientras ocurría el problema. El mensaje de error dice:

Completed command PLAYER_PREPARE status=-17

Según este foro , "es causado por tener demasiados objetos MediaPlayer activos a la vez". Desafortunadamente todavía no he encontrado una solución. La única solución conocida parece ser reiniciar.

Todavía no estoy seguro de qué aplicación (o combinación de aplicaciones) reproduce el error de manera confiable.

Editar : supongo que cualquier aplicación que use la clase MediaPlayer puede causar el problema. Esas aplicaciones probablemente nunca lleguen a un estado en el que llamen a MediaPlayer.release() . Tal vez necesitemos contactar a los proveedores de aplicaciones que usan MediaPlayer, para que se aseguren de llamar a release() .

Mi investigación superficial no condujo a una solución que solucionara el problema sin reiniciar.

Edición 2: He actualizado a Android 2.3 (Gingerbread) y desafortunadamente este problema aún persiste.

Algunos mensajes logcat sobre el error:

06-08 20:03:08.785 V/PlayerDriver( 2377): CommandCompleted
06-08 20:03:08.785 V/PlayerDriver( 2377): Completed command PLAYER_INIT status=1
06-08 20:03:08.785 V/PVPlayer( 2377): run_set_video_surface s=0, cancelled=0
06-08 20:03:08.785 V/PVPlayer( 2377): run_set_audio_output s=0, cancelled=0
06-08 20:03:08.785 V/PlayerDriver( 2377): Send player code: 5
06-08 20:03:08.785 V/PlayerDriver( 2377): Create realtime output
06-08 20:03:08.785 V/PlayerDriver( 2377): CommandCompleted
06-08 20:03:08.785 V/PlayerDriver( 2377): Completed command PLAYER_SET_AUDIO_SINK status=1
06-08 20:03:08.785 V/PVPlayer( 2377): run_prepare s=0, cancelled=0
06-08 20:03:08.789 V/PlayerDriver( 2377): Send player code: 7
06-08 20:03:08.789 V/PlayerDriver( 2377): disable natpkt - 0
06-08 20:03:08.789 D/        ( 2377): After GetDurationFromRandomScan: clipDuration=8716644 
06-08 20:03:08.789 D/        ( 2377): After GetDurationFromRandomScan: clipDuration=8716644 
06-08 20:03:08.804 V/PlayerDriver( 2377): HandleInformationalEvent: 26
06-08 20:03:08.804 V/PlayerDriver( 2377): HandleInformationalEvent: type=26 UNHANDLED
06-08 20:03:08.804 V/PlayerDriver( 2377): CommandCompleted
06-08 20:03:08.804 V/PlayerDriver( 2377): Completed command PLAYER_PREPARE status=-17
06-08 20:03:08.804 E/PlayerDriver( 2377): Command PLAYER_PREPARE completed with an error or info -17
06-08 20:03:08.804 V/PVPlayer( 2377): check_for_live_streaming s=-2147483648, cancelled=0
06-08 20:03:08.804 V/PlayerDriver( 2377): HandleInformationalEvent: 27
06-08 20:03:08.804 W/PlayerDriver( 2377): PVMFInfoErrorHandlingComplete
06-08 20:03:08.804 W/MediaPlayer(22989): info/warning (1, 26)
06-08 20:03:08.804 E/MediaPlayer(22989): error (1, -17)
06-08 20:03:08.808 I/AudioService( 2471):  AudioFocus  abandonAudioFocus() from android.media.AudioManager@480f3630null
06-08 20:03:08.812 I/AudioService( 2471):  AudioFocus  abandonAudioFocus() from android.media.AudioManager@480f3630null
06-08 20:03:08.812 D/PlayTo  (22989): opening content://dtmedia/media/1553 with Android Player
06-08 20:03:08.812 D/PlayTo  (22989): About to set Android Player datasource to content://dtmedia/media/1553
06-08 20:03:08.812 E/PVPlayer( 2377): isDrmfile playing 0
06-08 20:03:08.812 V/PVPlayer( 2377): reset
06-08 20:03:08.812 V/PlayerDriver( 2377): Send player code: 18
06-08 20:03:08.812 V/PlayerDriver( 2377): handleCancelAllCommands
06-08 20:03:08.816 V/PlayerDriver( 2377): CommandCompleted
06-08 20:03:08.816 V/PlayerDriver( 2377): Completed command PLAYER_CANCEL_ALL_COMMANDS status=1
06-08 20:03:08.816 V/PlayerDriver( 2377): Send player code: 11
06-08 20:03:08.816 V/PlayerDriver( 2377): handleReset
06-08 20:03:08.816 V/PlayerDriver( 2377): CommandCompleted
06-08 20:03:08.816 V/PlayerDriver( 2377): Completed command PLAYER_RESET status=1
06-08 20:03:08.816 V/PlayerDriver( 2377): Send player code: 17
06-08 20:03:08.816 V/PlayerDriver( 2377): handleRemoveDataSource
06-08 20:03:08.816 V/PlayerDriver( 2377): CommandCompleted
06-08 20:03:08.816 V/PlayerDriver( 2377): Completed command PLAYER_REMOVE_DATA_SOURCE status=1
06-08 20:03:08.816 V/PVPlayer( 2377): unmap file
Cambié a DarkyROM 10.2, ahora en 10.3. Ambas versiones están basadas en Gingerbread (2.3.3 y 2.3.4) y no muestran este comportamiento. Entonces parece ser algo específico de la ROM de stock de Samsung.

Tengo el mismo problema aquí, usando Galaxy S con Android 2.3.3.

Mirando el registro, podemos ver el PID (ID de proceso) utilizado por PlayerDriver.

V/PlayerDriver( 84): Comando completado PLAYER_PREPARE status=-17

Entonces, eliminé el proceso PlayerDriver y se arregló.

Para hacer eso, necesita rootear su dispositivo y conectarse con adb como root. Ex.:

shell adb

su

La próxima vez intentaré identificar qué archivos y conductos está usando el proceso a través del comando lsof

Espero que esto ayude.

El mismo problema está en mi galaxy s. He notado que si uso Google Listen y tengo algo de cola, el mp3 deja de reproducirse. ¡Después de borrar la cola, se estaba poniendo bien! Pero... Parece que Adobe Flash también influye en la reproducción multimedia. Si lo uso, cualquier reproducción multimedia falla, antes de reiniciar. Tal vez 2.3 solucione el problema. Casi cansado de encontrar la solución para 2.2 en Galaxy S

Acabo de desinstalar Flash Player y lo mantendré informado cuando el problema vuelva a ocurrir.
Tengo flash instalado pero casi nunca lo uso. Los complementos se cargan manualmente en mi navegador, por lo que nunca se activa. Dudo que el flash en sí mismo sea el problema, probablemente esté relacionado con el uso de la memoria. Si hago muchas actualizaciones del mercado paralelo, el mp3 deja de funcionar. Si uso aplicaciones que requieren mucha memoria, el mp3 deja de funcionar. Parece que Android elimina un servicio importante (lo cual es un comportamiento normal según su descripción de administración de tareas) pero nunca reinicia este servicio.
Acabo de iniciar todas las aplicaciones que tengo (iniciar aplicación, presionar el botón de inicio, iniciar la siguiente aplicación, ...) y mis mp3 actualmente se reproducen de todos modos. Por cierto: Flash no se desinstaló aparentemente, solo las actualizaciones. Se actualizó hoy de nuevo.
Descubrí que la aplicación oficial de Twitter podría ser la culpable Foro de Youtube

Experimento los mismos problemas y parece que no puedo obtener una causa consistente. Después de reiniciar mi teléfono, no veo el problema nuevamente por otras 12 a 24 horas. Debido a que uso música personalizada como mi despertador, he adoptado el hábito de reiniciar mi teléfono antes de irme a dormir. Ha causado muchos días de retraso en el trabajo antes de que me diera cuenta de lo que estaba pasando.

Empecé con una instalación nueva de fábrica. Lo probé durante unos días sin problemas. Comience a instalar los programas uno por uno sin problemas. Eventualmente comencé a usar Widgets, sin problemas. Instalé Launcher Pro sin problemas.

Pero ahora los problemas han comenzado de nuevo. Desinstalé Launcher Pro por completo sin éxito. Eliminé todos mis widgets, que parecían funcionar. Los volví a agregar uno por uno y no parecía tener ningún problema. Pero el problema volvió. Durante el período de dos semanas, no pude aislar un widget que estaba causando el problema, así que descarté todos los widgets juntos.

Tengo tonos de llamada personalizados para mis SMS, notificaciones, G-talk, Gmail y tonos de llamada. Cuando ocurre este problema, ni siquiera puedo hacer que mi correo de voz se reproduzca, y mucho menos cualquier otra cosa.

Uso un programa llamado "Soundhound" para descubrir música que no había escuchado antes. Creo que podría estar relacionado. Por otra parte, también uso Advanced Task Killer, pero incluso cuando lo tenía instalado antes, no tuvo problemas. Creo que cuando uso Soundhound, desencadena una especie de extraña reacción en cadena que eventualmente, horas más tarde, hace que mi teléfono tenga este error.

No sé lo suficiente sobre los registros o cómo acceder a ellos para depurar el teléfono, pero sé que muchas personas han tenido este problema y parece que no hay solución. Mientras tanto, he desinstalado Soundhound y estoy comprobando si todavía tengo el problema.

Me di cuenta de este problema en mi galaxy s, tomó un tiempo arreglarlo, pero parecía haber comenzado cuando comencé a usar administradores de tareas de terceros. Sucedió con el asesino de tareas avanzado y el perro guardián instalado.

Volví a usar el administrador de tareas nativo y el problema parece haber desaparecido.... No ha ocurrido en la última semana. Estoy ejecutando 2.2.1.

Lo que me pareció más extraño fue que sucedió en días en los que ni siquiera usé el administrador de tareas, solo la mera presencia causaba el problema...

No estoy seguro de la razón técnica detrás de esto, pero no importa... El administrador de tareas nativo está bien.

Espero que esto ayude al resto de ustedes.

Siempre es una buena idea eliminar cualquier aplicación de Task Manager o Task Killer de terceros, Google recomienda específicamente no usarlas. Hay evidencia de que causan muchos problemas, y con la administración de memoria ya agresiva de Android, apenas resuelven nada.

¿Ha intentado probar los archivos multimedia individuales que causan el problema?

Hace muchas lunas tuve un problema en el que ciertos archivos corrompían la base de datos de música y eventualmente causaban problemas para toda la biblioteca. Esto es muy hipotético ya que mi experiencia no fue en un dispositivo Android y mi Galaxy S funciona bien. A pesar de esto, pensé que podría intentar cargar solo un pequeño subconjunto de sus medios y ver si todavía tiene el problema. No parece un problema de códec y quizás el escáner de medios limpie la base de datos cuando reinicia el teléfono. Lo siento, no tengo una respuesta mejor.

Lo intentaré y te lo haré saber, si ayuda. Pero como no puedo reproducir el problema a voluntad y no cambio mi colección de medios en el teléfono, dudo que tenga algo que ver con los archivos de mi teléfono.
El problema aún ocurre si no tengo archivos multimedia "externos" en mi teléfono. Acabo de transmitir un podcast en formato mp3 y después de un tiempo/alguna acción, mediafly me dirá que no puede transmitir el archivo y que debo descargarlo (incluso para el mismo episodio que funcionó anteriormente). No es un problema de red, porque puedo descargar el episodio sin problemas y aún no puedo reproducirlo a menos que reinicie.
Bueno, joder. ¿Quizás 2.3 resolverá su problema? Si alguna vez lo veo en mi Galaxy SI, seguro que volveré.