11 votes

Type de fichier non pris en charge : Pourquoi mon Samsung Galaxy S a-t-il soudainement cessé de prendre en charge les fichiers MP3?

Tout à coup, mon Samsung Galaxy S prétend ne pas prendre en charge les fichiers mp3 (le téléphone est resté inactif pendant quelques heures, je n'ai rien touché). Cependant, les fichiers Ogg continuent de jouer sans problème. Lorsque cela se produit, aucune application ne peut lire de fichiers mp3, par exemple ma sonnerie personnalisée ne se joue plus (elle vibre simplement comme si elle était en mode silencieux). Un redémarrage du téléphone résout le problème mais dans les 3-4 jours, le problème revient. Cela ne fait aucune différence si les fichiers sont stockés sur la carte sd interne ou externe.

Cela affecte également la lecture vidéo, mais je ne suis pas sûr si cela se produit en même temps ou indépendamment l'un de l'autre. L'application Youtube ne peut plus démarrer les vidéos (problème de lecture inconnu) et l'application lecteur vidéo affirme que tous les fichiers vidéo ne sont pas pris en charge. Je suppose que le problème n'est peut-être pas la lecture vidéo elle-même mais le codec audio utilisé dans la vidéo (mp3).

Une idée pour résoudre ce problème ou le déboguer? Je ne veux pas redémarrer mon téléphone tous les quelques jours - cela prend 2-3 minutes à faire et un téléphone devrait simplement fonctionner.

J'ai récemment appliqué le firmware 2.2.1 et cela semblait seulement aggraver le problème. J'avais ce problème avant 2.2.1 (avec 2.2) mais seulement très rarement.

Je me demande si TitaniumBackup pourrait être le coupable car le planificateur de sauvegarde semble parfois arrêter les processus. Peut-être que d'autres personnes ayant ce problème utilisent également des sauvegardes planifiées avec TitaniumBackup? L'indice était que depuis la mise à niveau vers 2.2.1, j'ai également mis à niveau vers la version sous licence de TitaniumBackup et programmé des sauvegardes quotidiennes. Mais cela pourrait être simplement une coïncidence. Ce qui contredit cette théorie : les sauvegardes sont planifiées la nuit, mais la dernière fois que j'ai vu ce problème, il s'est produit pendant la journée - les mp3 fonctionnaient le matin, ont échoué l'après-midi. Le téléphone était inactif pendant le moment où il a "décidé" de ne plus lire de mp3.

En regardant les forums (j'ai trouvé seulement quelques résultats sur Google), les personnes ayant les mêmes problèmes suggèrent simplement de redémarrer le téléphone - mais ce n'est pas une solution du tout. Ou ils suggèrent de renvoyer le téléphone pour un remplacement - et devinez quoi : cela n'a pas résolu le problème pour les personnes confrontées à ce problème. Je suggère donc qu'il ne s'agit pas d'un problème matériel (ni lié aux cartes sd ni au téléphone lui-même).

7voto

Flow Points 18254

Un dernier recours est toujours une réinitialisation d'usine, qui devrait résoudre ce problème. Vous pourriez également jeter un œil à la sortie logcat, peut-être que cela vous donnera un indice sur la cause du problème.

4voto

bjoernz Points 526

J'ai enfin eu l'occasion de consulter le logcat pendant que le problème se produisait. Le message d'erreur est le suivant :

Commande terminée PLAYER_PREPARE statut=-17

Selon ce forum "cela est dû au fait d'avoir trop d'objets MediaPlayer actifs en même temps." Malheureusement, je n'ai pas encore trouvé de solution. Le seul contournement connu semble être le redémarrage.

Je ne suis toujours pas sûr(e), quelles applications (ou combinaison d'applications) reproduisent l'erreur de manière fiable.

Édit: Je suppose que n'importe quelle application, qui utilise la classe MediaPlayer peut causer le problème. Ces applications n'atteignent probablement jamais un état où elles appellent MediaPlayer.release(). Peut-être devrions-nous contacter les vendeurs d'applications qui utilisent le MediaPlayer, afin qu'ils s'assurent d'appeler release().

Mes recherches superficielles n'ont pas conduit à une solution qui résoudrait le problème sans redémarrage.

Édit 2: J'ai mis à jour en Android 2.3 (Gingerbread) et malheureusement ce problème persiste.

Quelques messages logcat autour de l'erreur :

06-08 20:03:08.785 V/PlayerDriver( 2377): Commande terminée
06-08 20:03:08.785 V/PlayerDriver( 2377): Commande terminée PLAYER_INIT statut=1
06-08 20:03:08.785 V/PVPlayer( 2377): exécution_set_surface_de_la_vidéo s=0, annulé=0
06-08 20:03:08.785 V/PVPlayer( 2377): exécution_réglage_sortie_audio s=0, annulé=0
06-08 20:03:08.785 V/PlayerDriver( 2377): Envoi du code joueur : 5
06-08 20:03:08.785 V/PlayerDriver( 2377): Créer une sortie en temps réel
06-08 20:03:08.785 V/PlayerDriver( 2377): Commande terminée
06-08 20:03:08.785 V/PlayerDriver( 2377): Commande terminée PLAYER_SET_AUDIO_SINK statut=1
06-08 20:03:08.785 V/PVPlayer( 2377): exécution_préparation s=0, annulé=0
06-08 20:03:08.789 V/PlayerDriver( 2377): Envoi du code joueur : 7
06-08 20:03:08.789 V/PlayerDriver( 2377): désactiver natpkt - 0
06-08 20:03:08.789 D/ ( 2377): Après GetDurationFromRandomScan : duréeClip=8716644 
06-08 20:03:08.789 D/ ( 2377): Après GetDurationFromRandomScan : duréeClip=8716644 
06-08 20:03:08.804 V/PlayerDriver( 2377): Gérer événement_informationnel : 26
06-08 20:03:08.804 V/PlayerDriver( 2377): Gérer événement_informatif : type=26 NON GÉRÉ
06-08 20:03:08.804 V/PlayerDriver( 2377): Commande terminée
06-08 20:03:08.804 V/PlayerDriver( 2377): Commande terminée PLAYER_PREPARE statut=-17
06-08 20:03:08.804 E/PlayerDriver( 2377): Commande PLAYER_PREPARE terminée avec une erreur ou une info -17
06-08 20:03:08.804 V/PVPlayer( 2377): vérifier_la_diffusion_en_direct s=-2147483648, annulé=0
06-08 20:03:08.804 V/PlayerDriver( 2377): Gérer événement_informationnel : 27
06-08 20:03:08.804 W/PlayerDriver( 2377): PVMFInfoErrorHandlingComplete
06-08 20:03:08.804 W/MediaPlayer(22989): info/avertissement (1, 26)
06-08 20:03:08.804 E/MediaPlayer(22989): erreur (1, -17)
06-08 20:03:08.808 I/AudioService( 2471):  AudioFocus abandonAudioFocus() depuis android.media.AudioManager@480f3630null
06-08 20:03:08.812 I/AudioService( 2471):  AudioFocus abandonAudioFocus() depuis android.media.AudioManager@480f3630null
06-08 20:03:08.812 D/PlayTo  (22989): ouverture content://dtmedia/media/1553 avec Android Player
06-08 20:03:08.812 D/PlayTo  (22989): Sur le point de définir la source de données du lecteur Android sur content://dtmedia/media/1553
06-08 20:03:08.812 E/PVPlayer( 2377): le fichierDrmfile joue 0
06-08 20:03:08.812 V/PVPlayer( 2377): réinitialiser
06-08 20:03:08.812 V/PlayerDriver( 2377): Envoi du code joueur : 18
06-08 20:03:08.812 V/PlayerDriver( 2377): gérerAnnuler_toutes_les_commandes
06-08 20:03:08.816 V/PlayerDriver( 2377): Commande terminée
06-08 20:03:08.816 V/PlayerDriver( 2377): Commande terminée PLAYER_CANCEL_ALL_COMMANDS statut=1
06-08 20:03:08.816 V/PlayerDriver( 2377): Envoi du code joueur : 11
06-08 20:03:08.816 V/PlayerDriver( 2377): gérerRéinitialiser
06-08 20:03:08.816 V/PlayerDriver( 2377): Commande terminée
06-08 20:03:08.816 V/PlayerDriver( 2377): Commande terminée PLAYER_RESET statut=1
06-08 20:03:08.816 V/PlayerDriver( 2377): Envoi du code joueur : 17
06-08 20:03:08.816 V/PlayerDriver( 2377): handleRemoveDataSource
06-08 20:03:08.816 V/PlayerDriver( 2377): Commande terminée
06-08 20:03:08.816 V/PlayerDriver( 2377): Commande terminée PLAYER_REMOVE_DATA_SOURCE statut=1
06-08 20:03:08.816 V/PVPlayer( 2377): unmap fichier

4voto

Edison Points 96

J'ai le même problème ici, en utilisant Galaxy S avec Android 2.3.3.

En regardant le journal, nous pouvons voir le PID (ID de processus) utilisé par PlayerDriver.

V/PlayerDriver( 84): Commande terminée PLAYER_PREPARE, statut=-17

Donc, j'ai tué le processus PlayerDriver et cela a fonctionné.

Pour cela, vous devez rooter votre appareil et vous connecter avec adb en tant que root. Ex.:

adb shell

su

La prochaine fois, j'essaierai d'identifier quels fichiers et tubes le processus utilise avec la commande lsof.

J'espère que cela aide.

4voto

Edison Points 96

Je pense avoir trouvé le problème.

Comme l'a dit bjoernz, certaines applications créent de nombreux objets de la classe MediaPlayer et ne les libèrent pas par la suite. Ainsi, j'ai ouvert un shell adb, suis devenu root avec su et j'ai trouvé le PID (identifiant de processus) de mediaserver en utilisant la commande :

ps | grep mediaserver

Le PID de mediaserver, dans mon cas, est : 84

Ensuite, j'ai listé toutes les ressources utilisées par ce PID avec la commande :

lsof | grep 84

Et j'ai obtenu le résultat suivant : Description de l'image

Il a donc été facile d'identifier que l'application officielle Twitter (com.twitter.android-1.apk) était le problème. J'ai alors supprimé l'application Twitter et installé TweetDeck à la place, et le problème a disparu depuis la semaine dernière.

J'espère que cela pourra vous aider.

Cordialement,

3voto

Jonas Points 2559

Le même problème est sur mon galaxy s. J'ai remarqué que si j'utilise Google Listen et que j'ai une file d'attente, le mp3 s'arrête de jouer. Après avoir effacé la file d'attente, ça allait mieux ! Mais... Il semble qu'Adobe Flash influence également la lecture des médias. Si je l'utilise, toute lecture de média échoue, avant de redémarrer. Peut-être que 2.3 résoudra le problème. Presque fatigué de chercher la solution pour 2.2 sur Galaxy S

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X