我目前正在开发音乐流媒体/网络电台Android应用程序,如果您能帮助我,我真的很感激。提前谢谢!
我可以播放音乐,但我不知道如何获取当前播放的歌曲,专辑封面等信息。如果我能获得这些信息,这对我的应用程序真的有帮助。
我的问题是,我如何知道或在哪里可以获得有关当前播放的歌曲的信息?正如我所注意到的那样,只有一个链接,VLC才能做到这一点。
以下是vlc的截图。
以下是我尝试过的几个链接:
http://tar.stream.dev.al:9078/listen.pls
http://84.46.147.81:80/m1/mp3
http://stream.radioeger.hu:18000/listen.pls
http://95.110.186.253:8020/magic.mp3
答案 0 :(得分:2)
您可以通过MediaMetadataRetriever检索音频元数据,但MediaMetadataRetriever在某些Android版本上无法使用URL。所以,使用FFmpegMediaMetadataRetriever作为解决方法,我建议尝试一下。
答案 1 :(得分:0)
大多数无线电流使用http流。压缩的音频数据通常与元数据交织。因此,您需要一种方法来实时处理http流,提取任何元数据。对于Shoutcast,元数据是协议的一部分,这里是streamripper的一个例子:
对于经典HTTP流媒体,协议不包含元数据,但容器包含元数据。在这种情况下,您还必须对容器进行基本解码。再来一次来自streamripper的一个例子。这个使用libvorbis来检查容器并获取元数据。然而,它必须做一些神奇的技巧才能做到正确:
HTH