2013-10-31 57 views
1

我有一个Android程序需要列出给定路径中的所有音频和视频文件。如何检测文件是否为音频/视频?

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

如何检测某个文件是否为音频文件?

+0

接受这个答案将帮助ü在这亲爱的我提及两个方法ü可以使用ND享受:) –

回答

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(); 
    } 
} 
+0

然后接受这个 –

+0

:)测试怎么把这段代码亲爱的 –

+0

就像一个快速提示,我注意到在getallvideo()调用中,游标查找MediaStore.Video.Media,但getColumnIndex调用请求MediaStore.Images.Media。这是否在这种情况下工作(从好奇的角度来问)? –

相关问题