2013-10-31 4 views
1

주어진 경로에서 모든 오디오 및 비디오 파일을 나열해야하는 Android 프로그램이 있습니다.파일이 오디오/비디오인지 확인하는 방법은 무엇입니까?

특정 폴더 내의 모든 파일/폴더를 나열하는 방법을 알고 있지만 다른 형식의 파일도 해당 폴더에있을 수 있습니다. 각 오디오 파일의 형식을 모릅니다. 나중에 다른 형식이 도입 될 수 있습니다. 나는 대답을 찾으려고했지만 아무 소용이 없다.

특정 파일이 오디오 파일인지 어떻게 알 수 있습니까?

+0

을 받아이 그것을 u는 다음이 코드 사촌이 –

답변

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

를 즐길 수있는 난이 방법을 언급이의 유 사랑하는 도움이 될 것입니다 ans와 나에게 친숙하다. –

+0

:) 테스트를 받아 사용 차 : –

+0

빠른 메모와 마찬가지로 getallvideo() 호출에서 커서가 MediaStore.Video.Media를 찾았지만 getColumnIndex 호출은 MediaStore.Images.Media를 요청한다는 것을 알았다. 이 경우에는 효과가 있습니까 (호기심 관점에서 묻습니다)? –