import vlc
import time
url = 'http://aska.ru-hoster.com:8053/autodj'
#define VLC instance
instance = vlc.Instance(' input-repeat=-1', ' fullscreen')
#Define VLC player
player=instance.media_player_new()
#Define VLC media
media=instance.media_new(url)
#Set player media
player.set_media(media)
#Play the media
player.play()
#Sleep for 5 sec for VLC to complete retries.
time.sleep(5)
#Get current state.
state = str(player.get_state())
#Find out if stream is working.
if state == "vlc.State.Error" or state == "State.Error":
print 'Stream is dead. Current state = {}'.format(state)
player.stop()
else:
print 'Stream is working. Current state = {}'.format(state)
player.stop()
您是否正在尝试检查流式处理URL是否存在?
如果是的话,就像检查任何其他url(如果存在的话)。在
一种方法是尝试使用
urllib
获取url并检查返回的状态代码。在例如:
编辑-1
而上面将捕捉URL是否存在。如果URL存在并且媒体链接断开,则不会捕获。在
使用
vlc
的一个可能的解决方案是从url获取媒体,尝试播放并在播放时获取其状态。如果媒体不存在,我们将得到一个可以用来确定链接状态的错误。在通过工作网址我们得到
^{pr2}$有了断开的网址
下面是实现上述目标的基本逻辑。您可能需要检查VLC site以捕获其他错误类型和更好的方法。在
相关问题 更多 >
编程相关推荐