我有一个Android程序需要列出给定路径中的所有音频和视频文件。如何检测文件是否为音频/视频?
我知道如何列出特定文件夹内的所有文件/文件夹,但其他格式的文件也可能出现在该文件夹中。我不知道每个音频文件的格式,其他格式可能会在稍后引入。我试图寻找答案,但无济于事。
如何检测某个文件是否为音频文件?
我有一个Android程序需要列出给定路径中的所有音频和视频文件。如何检测文件是否为音频/视频?
我知道如何列出特定文件夹内的所有文件/文件夹,但其他格式的文件也可能出现在该文件夹中。我不知道每个音频文件的格式,其他格式可能会在稍后引入。我试图寻找答案,但无济于事。
如何检测某个文件是否为音频文件?
您可以使用以下两种方法:
private void getallaudio() {
String[] STAR = {"*"};
Cursor audioCursor = ((Activity) cntx).managedQuery(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, STAR, null, null, null);
if (audioCursor != null) {
if (audioCursor.moveToFirst()) {
do {
String path = audioCursor.getString(
audioCursor.getColumnIndex(MediaStore.Audio.Media.DATA));
// Log.i("Audio Path",path);
} while (audioCursor.moveToNext());
}
// audioCursor.close();
}
}
private void getallvideo() {
String[] STAR = {"*"};
Cursor videoCursor = ((Activity) cntx).managedQuery(
MediaStore.Video.Media.EXTERNAL_CONTENT_URI, STAR, null, null, null);
if (videoCursor != null) {
if (videoCursor.moveToFirst()) {
do {
String path = videoCursor.getString(
videoCursor.getColumnIndex(MediaStore.Images.Media.DATA));
// Log.i("Video Path",path);
} while (videoCursor.moveToNext());
}
// videoCursor.close();
}
}
然后接受这个 –
:)测试怎么把这段代码亲爱的 –
就像一个快速提示,我注意到在getallvideo()调用中,游标查找MediaStore.Video.Media,但getColumnIndex调用请求MediaStore.Images.Media。这是否在这种情况下工作(从好奇的角度来问)? –
接受这个答案将帮助ü在这亲爱的我提及两个方法ü可以使用ND享受:) –