对于这个我使用:
String[] STAR = {"*"};
Uri allExternalSongUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
Cursor cursor = getContentResolver().query(allExternalSongUri, STAR, selection, null, null);
if(cursor != null){
if(cursor.moveToFirst()){
do {
String songName = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
Log.i("name", songName);
} while (cursor.moveToNext());
}
cursor.close();
}
但上面的代码中,除了获得音乐文件,也获取一些额外的不必要的文件,如* sound_screen_on.mp3 *(安装&由其他应用程序使用)。
问题是我的原生android音乐播放器没有列出&播放这些不必要的文件。
如何过滤像这样的文件。
2014-02-11
reiley
+0
我不认为它是可能的,因为很多应用程序使用* .mp3来播放背景音效。即使一些铃声应用程序使用* .mp3文件作为铃声。也许你可以获取长度大于1分钟的* .mp3,这可以减少不需要的* .mp3 –