我正在尝试使用python-vlc lib从网络收音机录制和获取歌曲信息(标题和艺术家)。录制功能运行良好,但媒体解析以获取歌曲信息不起作用!这是我的代码:
inst = vlc.Instance() # Create a VLC instance
p = inst.media_player_new() # Create a player instance
cmd1 = "sout=file/ts:%s" % outfile
media = inst.media_new("http://playerservices.streamtheworld.com/api/livestream-redirect/JBFMAAC1.aac", cmd1)
media.get_mrl()
p.set_media(media)
p.play()
media.parse()
for i in range(13):
print("{} - {}".format(i, media.get_meta(i)))
它总是返回“MediaParsedStatus.skipped”状态。并且所有歌曲信息都返回“无”。我在VLC应用程序中测试了相同的无线电,并且工作正常。有人可以帮帮我吗?提前致谢
由于这是一个流,因此libvlc默认不会解析它(只有本地文件)。
您需要使用一个标志来告诉libvlc解析媒体,即使它是一个网络流。
使用libvlc_media_parse_with_options
和MediaParseFlag
设置为network
(1)。