作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试获取手机中的所有音乐文件:
为此我使用:
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*(已被其他应用程序安装和使用)。
问题是我的原生安卓音乐播放器没有列出和播放这些不必要的文件。
如何过滤这些文件。
最佳答案
您可以使用 MediaStore.Audio.AudioColumns 进行过滤类。这将返回大量音频文件的值(value),您可以使用它。
musiccursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
proj, MediaStore.Audio.Media.DURATION + ">= 60000", null, null);
关于android - 如何在 Android 中只过滤掉相关的媒体文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21707954/
我是一名优秀的程序员,十分优秀!