2017-09-26 10 views
0

? MediaStore 클래스는 장르 필드를 제외하고 노래의 제목부터 작곡가 정보까지 모든 것을 제공하는 것 같습니다. 그럼 MediaMetadataRetriever를 사용해야합니까? 그렇다면 디바이스의 모든 노래에 MediaMetadataRetriever 인스턴스를 생성하면 앱의 성능이 얼마나 떨어질까요?MediaStore를 사용하여 노래의 장르를 가져 오는 방법이 있습니까? 실제로 주어진 노래의 장르를 가져올 수있는 resonable 방법을 찾을 수 안드로이드의 외부 저장</p> <pre><code>Cursor cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, null); </code></pre> <p>에서 오디오 파일 검색이 방법을 사용

안드로이드의 외부 및 내부 저장소에서 모든 오디오 파일을 검색하는 더 좋은 방법이 있습니까?

Developer's Site에서 언급 한 바와 같이

답변

0

,

당신은 MediaStore.Audio.Genres를 사용하여 오디오 파일의 장르를 가져올 수

샘플 코드 :

private static String[] genresProj = { 
      MediaStore.Audio.Genres.NAME, 
      MediaStore.Audio.Genres._ID 
    }; 

int idIndex = cursor 
       .getColumnIndexOrThrow(MediaStore.Audio.Media._ID); 

while (cursor.moveToNext()){ 
       int id = Integer.parseInt(mediaCursor.getString(idIndex)); 

       Uri uri = MediaStore.Audio.Genres.getContentUriForAudioId("external", id); 
       genresCursor = context.getContentResolver().query(uri, 
         genresProj , null, null, null); 
       int genreIndex = genresCursor.getColumnIndexOrThrow(MediaStore.Audio.Genres.NAME);     


        while (genresCursor.moveToNext()) { 
         Log.d(TAG, "Genre = " +genresCursor.getString(genreIndex)); 
        } 

      } 
     } 

는 다른 세부 사항을 가져올 수 오디오 파일은 here을 확인하십시오.