我有一个m3u文件here。 当我下载文件并在iTunes中打开它时,程序成功开始播放流音频并向我显示艺术家姓名和歌曲标题。此外,iTunes会发送曲目更改的通知,并显示艺术家姓名和歌曲名称!
我想知道iTunes怎么猜这个?该文件没有艺术家列表,它只有流媒体音频的链接。当我在文件中提到这个address时,我可以看到一个包含一些信息的网页。 iTunes会解析此页面并查找艺术家姓名吗?不要这么认为......
有人可以向我解释如何从m3u文件中获取歌曲信息,该文件只包含iTunes的音频流链接吗? Obj-C或Swift中有关如何以编程方式执行此操作的示例代码将受到高度赞赏!
答案 0 :(得分:2)
它出现在音频流本身(使用Icecast协议),而不是来自m3u文件。您可以通过打开m3u文件,将HTTP网址放入其中并将其放入VLC来证明这一点,您将看到跟踪数据仍在那里。
在这个问题上还有一些obj-c特定内容:Getting SHOUTcast metadata on the Mac
此处对协议的解释:http://www.smackfu.com/stuff/programming/shoutcast.html
另外,如果你好奇我是如何弄清楚流是一个Icecast的那个,我打开Wireshark并通过“ip.src == 79.120.77.11”过滤它,然后开始流,并在其中一个前几个数据包有一些数据开始“冰冷通知”,并提到了Shoutcast。之后的几个数据包还有电台的标题。