Je sais qu'après avoir téléchargé un mp3 depuis votre application, vous devez l'ajouter au ContentResolver
pour le voir sur le lecteur de musique. Je le fais avec le code suivant:Ajout de mp3 au ContentResolver
private void addFileToContentProvider() {
ContentValues values = new ContentValues(7);
values.put(Media.DISPLAY_NAME, "display_name");
values.put(Media.ARTIST, "artist");
values.put(Media.ALBUM, "album");
values.put(Media.TITLE, "Title");
values.put(Media.MIME_TYPE, "audio/mp3");
values.put(Media.IS_MUSIC, true);
values.put(Media.DATA, pathToFile);
context.getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
}
Mon problème est que je suis prêt à éviter de mettre en DISPLAY_NAME
, ARTIST
, ALBUM
, TITLE
à la main.
Existe-t-il un moyen de dire à Android de le faire à partir du fichier? J'ai déjà utilisé seulement values.put(Media.DATA, pathToFile);
mais cela ne l'ajoute pas au lecteur.
Existe-t-il un moyen de forcer le thread qui analyse la sd pour la musique?
Qu'est-ce que: 'values.put (MediaStore.Audio.Media.IS_MUSIC, false);' for? – Macarse
désolé, je l'ai mal écrit. Cela devrait être vrai. C'est juste dire que c'est un fichier de musique à jouer sur le lecteur de musique. – magicman
@magicman: J'ai ajouté votre code mais 'onMediaScannerConnected' n'est jamais appelé. Des idées? – Macarse