2014-04-17 25 views
0

不幸的是,我無法爲我在外部音樂播放器中從Soundcloud流式傳輸的音軌設置「TITLE」或「ARTIST」等元數據。爲外部音樂播放器中的音頻流設置元數據

這是我認爲它應該工作:

Uri uri = Uri.parse("http://api.soundcloud.com/tracks/135150341/stream?client_id=MY_SECRET_CLIENT_ID"); 
    Intent it = new Intent(Intent.ACTION_VIEW); 
    it.putExtra(MediaStore.EXTRA_MEDIA_ALBUM, "BLA"); 
    it.putExtra(MediaStore.Audio.Media.TITLE, "TEST TITLE"); 
    it.putExtra(MediaStore.Audio.Media.ARTIST, "TEST ARTIST"); 
    it.setDataAndType(uri, "audio/mp3"); 
    startActivity(it); 

這部分後,我可以選擇我最喜歡的球員,它會開始播放曲目, 但我不能設置metada ...我不沒有看到任何藝術家的名字或曲目或任何東西...

有沒有什麼辦法來設置這個音頻流的元數據? 或者直接從soundcloud獲取元數據?

由於提前, 馬庫斯

+0

你使用,按鍵'MediaStore.EXTRA_MEDIA_ALBUM'等,不一定使用你想播放的應用音樂來自。你將不得不弄清楚每個特定玩家使用哪些鍵。 – adneal

+0

我怎麼弄出來的? 如果我知道前3名媒體播放器正在使用哪些鍵,那麼我可以通過意向發送所有這些鍵。 – Marcus

回答

0

貌似是流式MP3文件沒有元數據。

您可以訪問使用所有可用數據下列API調用:

http://api.soundcloud.com/tracks/135150341.json?client_id=10fe52a882bf103b82641c33870f6500 
+0

我通過網上JSON解析器直接檢查JSON對象: http://jsonviewer.stack.hu/#http://api.soundcloud.com/tracks/135150341.json?client_id=10fe52a882bf103b82641c33870f6500 無論如何,我仍然有問題,玩家沒有得到有關賽道的任何信息,因爲我不知道如何設置它。 – Marcus