Je suis en train d'obtenir tout le nom de fichier ayant des fichiers audio dans ce que je l'ai utilisé Mediastore pour obtenir le Mediastore audio, album, playlist et DATA audio aussi mais comment puis-je obtenir le fichier ou le dossier contenant le fichier audio? Voici le code que j'ai essayé mais ce n'est pas correct car je ne suis pas capable de définir le External_Content_uri. C'est le code que j'ai essayé.Comment obtenir des données de MediaStore.File et MediaStore.File.FileColumn
private void External() {
try {
String[] proj = {MediaStore.Files.FileColumns.TITLE,
MediaStore.Files.FileColumns._ID,
MediaStore.Files.FileColumns.PARENT,
MediaStore.Files.FileColumns.DATA
};// Can include more data for more details and check it.
String selection =MediaStore.Files.FileColumns.MEDIA_TYPE+"=?";
String[] selectionArgs = {"MediaStore.Files.FileColumns.MEDIA_TYPE_AUDIO"};
String sortOrder = MediaStore.Audio.Media.TITLE + " ASC";
Cursor audioCursor = getContentResolver().query(MediaStore.Files.getContentUri("\"external\""), proj, selection, selectionArgs, sortOrder);
if (audioCursor != null) {
if (audioCursor.moveToFirst()) {
do {
int filetitle = audioCursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns.TITLE);
int file_id = audioCursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns._ID);
int fileparent = audioCursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns.PARENT);
int filedata = audioCursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns.DATA);
Mediafileinfo info = new Mediafileinfo();
info.setData(new File(new File(audioCursor.getString(filedata)).getParent()).getName());
info.setTitle(audioCursor.getString(filetitle));
info.set_id(audioCursor.getString(file_id));
info.setParent(audioCursor.getString(fileparent));
// info.setData(audioCursor.getString(filedata));
audioList.add(info);
} while (audioCursor.moveToNext());
}
}
assert audioCursor != null;
audioCursor.close();
} catch (Exception e) {
e.printStackTrace();
}
}
J'ai essayé this et this exemple, mais je ne suis pas en mesure d'obtenir la solution.
Bro je suis capable d'obtenir tous les chose dans la section MediaStore.Audio mais je veux MediaStore.Files –
vous voulez des noms de fichiers de tous les fichiers de musique, a obtenu cela. Avez-vous essayé le remplacement de la valeur de la colonne avec le nom de la colonne comme mentionné dans la réponse? –
Je veux obtenir le nom du dossier qui contient les fichiers multimédia –