python programming snippet
from time import sleep
from vlc import EventType, Media, MediaPlayer, MediaParseFlag, Meta
def _media_cb(event, *unused):
# XXX callback ... never called
print(event)
p = MediaPlayer()
# cmd1 = "sout=file/ts:%s" % outfile
media = Media("http://playerservices.streamtheworld.com/api/livestream-redirect/JBFMAAC1.aac") # , cmd1)
# media.get_mrl()
p.set_media(media)
p.play()
e = p.event_manager()
e.event_attach(EventType.MediaMetaChanged, _media_cb, media)
e.event_attach(EventType.MediaParsedChanged, _media_cb, media)
# define the meta data to show
meta = {Meta.Album: None,
Meta.Genre: None,
Meta.NowPlaying: None}
while True: # loop forever
# XXX using MediaParseFlag.local is not any different
media.parse_with_options(MediaParseFlag.network, 2) # 2 sec timeout
# XXX media.get_parsed_status() always returns .skipped
for k in meta.keys():
v = media.get_meta(k)
if v != meta[k]:
print("{} - {}".format(k, v))
meta[k] = v
sleep(2)