2013-10-15 3 views
0

커서 로더가있는 MediaStore에서 "음악 파일"을 쿼리하는 방법을 알고 있습니다. 특정 앨범, 장르, 아티스트의 노래를 쿼리하는 데 문제가 없습니다. 그러나 MediaStore가 위치한 디렉토리에 따라 노래를 MediaStore에 쿼리하는 방법을 알지 못합니다.MediaStore는 CursorLoader로 폴더별로 정렬합니다.

final Uri sourceUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; 
CursorLoader cursorLoader = new CursorLoader(
       context, 
       sourceUri, 
       null, 
       null, 
       null, 
       MediaStore.Audio.Media.TITLE); 

또한 앨범, 장르 등의 노래 수를 동일한 검색어로 얻는 데 도움을 줄 수 있다면 좋을 것입니다.

사전에 도움을 주셔서 감사합니다.

답변

0

현재 API (18)에 대해 빌드 중 도구로 수행 할 방법이 없습니다. 이것은이 쿼리를 돕거나 ("파일 브라우저"사용과 같은) 다른 접근법을 사용하기 위해 (자체 데이터베이스와 같은) 무언가를 구축해야합니다.

+0

안녕하세요 Michal이 @Michal 도구에 대한 빌드에 대해 더 설명해주세요. – Xenolion

1

미갈, 귀하의 질문과 예는 혼란 스럽습니다. 음악에 대해 물어 보지만 코드는 이미지에 관한 것입니다. 당신이 커서가 _data을 반환 C를 말할 때 어쨌든,

String strpath = (c.getString(c.getColumnIndex(MediaStore.Audio.Media._DATA))); 

이 노래 제목 자체를 포함하여 전체 경로를 반환합니다, 그래서 노래 디렉토리

Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; 
    final String path = MediaStore.Audio.Media.DATA; 

을 얻을 수 있습니다.

  String strnosongs = (c.getString(c 
       .getColumnIndex(MediaStore.Audio.Albums.NUMBER_OF_SONGS))); 

난이 도움이되기를 바랍니다 (C 커서가 반환) 앨범의 트랙 번호를합니다.

+0

네, 감사합니다. 또한 코드에서 이미지로 실수를 수정했습니다. – Michal