2013-02-25 5 views
2

재생 목록에서 노래를 가져 와서 android에서 재생하려고합니다. 내가 찾을 수android에서 주어진 Audio_id로 노래 재생

모든 응답 파일 경로를 찾은 다음 MediaPlayer가에 공급하는

MediaStore.MediaColumn.DATA 

에 의존한다.

하지만 시도 할 때 "잘못된 열 _ 데이터"예외가 계속 발생했습니다. 여전히 "AUDIO_ID"와 같은 노래에 대한 다른 내용을 쿼리 할 수 ​​있습니다. 그래서 제 질문은, "AUDIO_ID"만으로 노래를 재생할 수 있습니까? 방법? 아니면 모든 다른 사람들이 그것을 사용할 수 있기 때문에 "데이터"에 대해 실종 된 내용이 있습니다.

재생 목록 가져 오기위한 코드입니다.

private Cursor getPlaylistCursor() { 
    String[] proj = { MediaStore.Audio.Playlists._ID,MediaStore.Audio.Playlists.NAME }; 
    Uri playlistUri = Uri.parse("content://com.google.android.music.MusicConten/playlists"); 
    Cursor playlistCursor = getContentResolver().query(playlistUri, proj,null, null, null); 
    playlistCursor.moveToFirst(); 
    return playlistCursor; 
} 

이 내가 노래를 얻기를 위해 일하고 내가 말했듯이, 내가 "데이터"는 "데이터"인수가 투사로 추가하면, 나는 예외 수를 조회 할 수없는 것입니다.

private void getSongListCursor(Long playlistID) { 
    String[] proj2 = { MediaStore.Audio.Playlists.Members.TITLE, 
      MediaStore.Audio.Playlists.Members.AUDIO_ID }; 
    String playListRef = "content://com.google.android.music.MusicContent/playlists/" 
      + playlistID + "/members"; 
    Uri songUri = Uri.parse(playListRef); 
    Cursor songCursor = getContentResolver().query(songUri, proj2, null, 
      null, null); 
} 

이제 노래의 오디오 ID가 있습니다. 어떻게 재생합니까?

답변

1

모든 ;-)

내 접근 방식은 구글이 선택한 곡의 ID에 해당하는 스트리밍 URL을 얻기 위해 음악 서버를 플레이 사용하는 것입니다 수 있습니다. Google Play 뮤직 용 비공식 API를 사용하여 인증 및 시작에 대한 도움이 필요한 경우 알려 주시기 바랍니다.

+0

Google Play 뮤직 서비스를 사용하여 노래를 스트리밍하도록 URL을 가져 오려고했지만 OAuth 2.0을 사용하여 인증 문제가 발생했습니다. 어떻게 그 모든 것을 작동시킬 수 있었습니까? – adamacdo

+0

@adamacdo는'sj'를 authType으로 사용하여'AccountManager # getAuthToken'을 사용하고'Authoring' 헤더를'GoogleLogin '으로 설정하여'https : //play.google.com/music/listen? hl = en & u = 0'에 POST를 사용합니다 auth = <자신의 인증 토큰>'. 괜찮 으면, 추가 통신에 사용해야하는'sjsaid'와'xt' 쿠키를 받아야합니다. –