【问题标题】:How to detect if a file is audio/video?如何检测文件是否为音频/视频?
【发布时间】:2013-10-31 07:53:30
【问题描述】:

我有一个 Android 程序需要列出给定路径中的所有音频和视频文件。

我知道如何列出特定文件夹中的所有文件/文件夹,但其他格式的文件也可能存在于该文件夹中。我不知道每个音频文件的格式,其他格式可能会在以后推出。我试图寻找答案,但无济于事。

如何检测特定文件是否为音频文件?

【问题讨论】:

  • 接受这个,它会帮助你亲爱的,我提到了两种你可以使用和享受的方法:)

标签: android file-format


【解决方案1】:

您可以使用以下两种方法:

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。这在这种情况下是否有效(从好奇的角度询问)?
猜你喜欢
  • 1970-01-01
  • 2013-07-14
  • 2022-11-21
  • 1970-01-01
  • 2017-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多