2014-04-17 30 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