Android 如何检测文件是否为音频/视频?

Android 如何检测文件是否为音频/视频?,android,file-format,Android,File Format,我有一个Android程序,需要列出给定路径中的所有音频和视频文件 我知道如何列出特定文件夹中的所有文件/文件夹,但该文件夹中也可能存在其他格式的文件。我不知道每个音频文件的格式,其他格式可能会在以后介绍。我试图寻找答案,但没有结果 如何检测特定文件是否为音频文件?您可以使用以下两种方法: private void getallaudio() { String[] STAR = {"*"}; Cursor audioCursor = ((Activity) cntx).mana

我有一个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。这在这种情况下有效吗(从好奇的角度提问)?