我使用下面的代码从文件夹中获取所有歌曲,但它无法正常工作,因为它只适用于这样的路径:/sdcard/test.mp3,但我需要从文件夹中获取歌曲 - 例如/ sdcard / 如果没有收到所有歌曲我怎么能这样做?
public Playlist getSongsByPath(String name){
String where = MediaStore.Audio.Media.DATA
+ "=?";
String whereVal[] = { name };
String orderBy = MediaStore.Audio.Media.TITLE;
Uri media = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
ContentResolver resolver = mContext.getContentResolver();
Cursor cursor = resolver.query(media, Song.FILLED_PROJECTION, where, whereVal, orderBy);
Playlist result = new Playlist();
while(cursor.moveToNext()){
result.addSong(new Song(cursor));
}
return result;
}
答案 0 :(得分:0)
通过使用Mediastore,您可以在设备上找到所有音乐。媒体扫描过程维护Android音乐数据库。 _DATA属性包含完全限定的路径名,因此可能具有不同的路径。例如/ mnt / sdcard,/ SD卡或放置音乐的地方等。 如果要搜索文件系统,那么mediastore可能不是正确的方法。 PS。你的问题有点令人困惑?也许你的意思不是"从文件夹中获取歌曲,例如/ sdcard /"