2013-10-31 86 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。這是否在這種情況下工作(從好奇的角度來問)? –

相關問題