5 votes

Comment puis-je sauvegarder des listes de lecture ou en extraire les informations de chemin et de nom de fichier (générées par le lecteur MP3 intégré) ?

J'aime extraire les informations des listes de lecture (c'est-à-dire le chemin et les noms de fichiers) que j'ai créées sur le lecteur MP3 intégré d'Android, pour les copier avec les fichiers MP3 sur une carte SDHC plus grande. Les informations de la liste de lecture sont perdues lors de cette opération :

  • En retirant la carte mémoire SDHC (après avoir éteint l'appareil) et en la réinsérant plus tard, le lecteur MP3 oublie tous les fichiers des listes de lecture que j'ai créées. C'est particulièrement ennuyeux si vous voulez remplacer la carte SDHC par une plus grande et que vous voulez sauvegarder tous les fichiers, y compris les listes de lecture, de l'ancienne carte.

La raison de ce problème est qu'Android monte les cartes SD sous le nom de /storage/UniqueId, où UniqueId est un nombre hexadécimal (la valeur numéro de série ou CID de votre carte SD), par ex. A15F-1234 . Ainsi, votre carte SD d'origine a un chemin racine du type /storage/A15F-1234/ et lorsque vous achetez une nouvelle carte SD, son CID est différent, donc le chemin de la racine change, par ex. /storage/F987-5432/ Le lecteur recherche donc l'ancien chemin tel qu'il est stocké dans la liste de lecture et ne trouve plus les fichiers !

Notez qu'il s'agit d'un dossier virtuel et qu'il ne peut pas être renommé.

Cela devient important car le lecteur de musique stocke les fichiers de votre liste de lecture sous forme de chemin absolu, par exemple.

/storage/A15F-1234/MyMusic/RickSpringField-LoveSomebody.mp3.

Sur votre PC, vous verrez juste un chemin comme

E:/MyMusic/RickSpringField-LoveSomebody.mp3

Une fois que vous aurez copié le fichier sur la nouvelle carte SD, il se trouvera sur

F:/MyMusic/RickSpringField-LoveSomebody.mp3

(où E : est votre ancienne carte, F : votre nouvelle carte dans cet exemple)

Mais lorsque vous mettez la nouvelle carte dans votre mobile après la copie, votre fichier sera à

/storage/F987-5432/MyMusic/RickSpringField-LoveSomebody.mp3

et vos listes de lecture sont toutes vides parce que chaque entrée commence toujours avec l'ancien chemin d'accès. /storage/A15F-1234/... et le lecteur (par exemple Samsung Music) ne peut pas les trouver, parce qu'il ne regarde pas dans le nouveau chemin ( /storage/F987-5432/... ).

Maintenant, je cherche un moyen de sauvegarder les listes de lecture ou au moins leur contenu (c'est-à-dire le nom de fichier du chemin, etc.) afin de pouvoir modifier le chemin pour les rendre à nouveau utilisables.


Plus d'informations :

Le téléphone dispose d'un dossier de listes de lecture, qui contient les éléments suivants Playlists Mais lorsque j'utilise un câble USB pour le connecter au PC, je peux les voir ( *.pla ) mais ils ont 0 octet et ne peuvent pas être copiés. De même, si je connecte la carte SDHC via cardreader, les fichiers ne sont pas utiles.

Samsung Kies n'a pas non plus fonctionné pour moi, il ne semble pas prendre en charge les listes de lecture créées sur le téléphone.

J'ai trouvé cette question intéressante qui explique qu'Android stocke les listes de lecture dans des bases de données SqlLite, mais malheureusement, sur mon téléphone Samsung je n'ai pas pu trouver le fichier de la base de données (bien qu'il y ait un dossier Computer\GT-I8190\Phone\Android\data\com.google.android.music qui devrait le contenir, mais pas de databases et aucun fichier de base de données).

N.B. : Le smartphone est capable de lire et d'importer *.m3u des listes de lecture (via le menu "Carré musical" du lecteur - menu contextuel "Mise à jour de la bibliothèque"), mais ne peut pas les modifier (si vous ajoutez des titres, ils ne seront disponibles que dans le smartphone, l'application *.m3u n'est pas modifié).


A résumez ma question (l'une des options ci-dessous m'aiderait) :

  • Savez-vous comment je peux sauvegarder les listes de lecture sur le téléphone et ensuite extraire les informations de fichier/chemin qu'elles contiennent dans Windows ?
    Phone Playlist -> Windows PC -> Extract Path/Filename to text file

  • Ou savez-vous s'il existe un outil disponible (pour Android, ou pour Windows le lisant depuis le téléphone portable) convertissant les listes de lecture dans un format texte compatible (comme .m3u listes de lecture ) ?
    Phone Playlist -> M3U file

    ( Note : L'inverse est possible, comme ce message du forum explique). Voici un exemple d'un fichier M3U, notez que les chemins relatifs (tels que Sounds/Sample.mp3 ) sont également autorisés (si le lecteur les supporte) :

    #EXTM3U
    #EXTINF:123, Sample artist - Sample title
    /storage/extSdCard/Sounds/Sample.mp3

(où extSdCard représente un CID comme F987-5432 y #EXTINF:123, Sample artist - Sample title est une métadonnée, voir Format de liste de lecture M3U )


Votre aide est très appréciée !

3voto

KrisWebDev Points 131

Les listes de lecture sont stockées dans une base de données SQLite à l'adresse suivante /data/data/com.android.providers.media/databases/external.db .

J'ai créé un script Python pour convertir la liste de lecture audio de cette base de données en M3U, il s'appelle m3truid . Vous avez besoin d'un PC et de l'ADB activé.

Pas aussi agréable qu'une application Android mais particulièrement utile lorsque votre écran est mort.

0voto

Matt Points 103

Mise à jour 2 : Après une longue recherche, j'ai trouvé un lecteur de musique "Muzio dans le Google PlayStore qui peut enregistrer les listes de lecture internes sous forme de fichier texte ( *.m3u ) et les charger plus tard (le joueur utilise Muzio/Playlist Backup sur votre stockage interne).

Pour enregistrer, utilisez le menu à trois points à côté de la liste de lecture.

De cette façon, vous pouvez éditer le fichier m3u avec un éditeur de texte (par exemple QuickEdit Android) - ou vous le transférez sur un PC et l'éditez là.

Après avoir corrigé les chemins (chercher + remplacer), vous pouvez charger le fichier m3u mis à jour avec le lecteur de musique Muzio.

Pour charger, utilisez le menu à trois points dans le coin supérieur droit de la barre de menu et sélectionnez "Importer une liste de lecture".

Lien de téléchargement : Joueur Muzio

Note :

  • Si vous voulez copier les fichiers dans une liste de lecture plutôt que la liste de lecture En soi, vous pouvez le faire avec Samsung Music player et l'outil "Total Commander" installé : Sélectionnez la liste de lecture (pointez et appuyez sur le doigt pendant un moment pour la sélectionner), puis sélectionnez "Partager" et dans le menu de partage, sélectionnez "Total Commander". Choisissez le dossier cible souhaité. Puis passez à Total Commander et vous verrez la copie commencer.

  • Vous pouvez utiliser m3truid également, si vous exportez la base de données vers le PC, comme décrit dans la réponse de Kris. Cependant, je n'ai pas encore testé cette option.


Mise à jour : Andrew a aimablement fourni une réponse, qui résout directement le problème. Cependant, je garde cette réponse au cas où quelqu'un voudrait développer un lecteur par lui-même qui inclurait un import/export de liste de lecture. Il suffit d'utiliser le lien ci-dessus qui vous mènera au code source.


Aucune réponse n'a encore été fournie, alors voici ce que j'ai découvert par moi-même jusqu'à présent. Il s'agit plutôt d'une idée de la manière dont le problème pourrait être résolu.

La solution consiste à écrire une application de lecteur Android, qui a accès à la base de données des listes de lecture via l'API Android. Cette application peut lire les propriétés de la liste de lecture et enregistrer le chemin, le nom de fichier, le titre, l'artiste, etc. dans un fichier texte, de préférence au format M3U.

Sur AndroidHive.info J'ai trouvé le code source d'un lecteur MP3 Android, n'incluant pas la fonctionnalité mentionnée ci-dessus. Mais je suis sûr qu'elle peut être implémentée avec quelques efforts.

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