我正在使用一个功能来检查是否失去与流服务器的连接。播放视频流时,我想每1秒钟调用一次self.Reconnect_stream
函数,以检查视频流是否停止工作,因此我可以重新连接服务器以播放视频流。>
代码如下:
self.stream = list()
self.Reconnect = None
def play(self, item = None, windowed = False):
print "you are working on play........................."
bool = True
url = ''
if not self.player.isPlayingVideo():
url = 'http://example.com/stream.ts'
self.stream.append(url)
if self.player.isPlayingVideo():
self.Reconnect = threading.Timer(1, self.Reconnect_stream)
self.Reconnect.start()
def Reconnect_stream(self):
print "you are calling Reconnect_stream.........................for player"
if not self.player.isPlayingVideo():
if not self.stream == []:
self.Reconnect.cancel()
url = ''.join(str(x) for x in self.stream)
bool = True
self.player.play(url, windowed = bool)
xbmc.sleep(2000)
self.Reconnect = threading.Timer(1, self.Reconnect_stream)
self.Reconnect.start()
我的代码出现问题,因为当我播放流时,它确实每隔1秒钟调用一次self.Reconnect_stream
函数,并且它没有检查我是否失去了与服务器的连接。
我想这不是正确的使用方式:
if self.player.isPlayingVideo():
self.Reconnect = threading.Timer(1, self.Reconnect_stream)
self.Reconnect.start()
我认为我应该使用这样的东西:
While True:
....check if i have lost connection to the server so reconnect the stream
能否请您举一个例子,说明我如何以正确的方式使用它来每隔1秒自动检查一次流服务器,如果我失去与服务器的连接,则可以重新连接到流以再次播放它?