xbmc Player onPlayBackEnded 未被调用
xmbc Player onPlayBackEnded not being called
我遇到了一个问题,我已经实施了 class 以在 onPlayBackEnded 结束时进行监听,但它似乎没有触发。这是我的代码:
http://mirrors.kodi.tv/docs/python-docs/13.0-gotham/xbmc.html#Player-onPlayBackEnded
class BWPlayer(xbmc.Player) :
def __init__ (self):
xbmc.Player.__init__(self)
def onPlayBackStarted(self):
print("Strted")
def onPlayBackEnded(self):
xbmcgui.Dialog().ok(addonname, "Done Playing")
def onPlayBackStopped(self):
print("Strted")
def onPlayBackPaused(self):
print("Strted")
def onPlayBackResumed(self):
print("Strted")
player = BWPlayer()
player.play(item='file.mp4')
我是不是执行错了什么?
'player.play' 不是阻塞调用,这意味着您的脚本将继续 运行 最后,然后您的 player
实例超出范围并被垃圾收集.
您需要创建一些长运行ning 循环以防止您的脚本退出。像这样:
player.play(item='file.mp4')
xbmc.sleep(500) # Wait until playback starts
while player.isPlaying():
xbmc.sleep(500)
如果您需要您的脚本永远 运行(直到 Kodi 退出),那么您将需要这样的东西:
monitor = xbmc.Monitor()
monitor.waitForAbort()
monitor.waitForAbort()
将阻止您的脚本并防止它在 Kodi 运行ning 时退出。
我遇到了一个问题,我已经实施了 class 以在 onPlayBackEnded 结束时进行监听,但它似乎没有触发。这是我的代码:
http://mirrors.kodi.tv/docs/python-docs/13.0-gotham/xbmc.html#Player-onPlayBackEnded
class BWPlayer(xbmc.Player) :
def __init__ (self):
xbmc.Player.__init__(self)
def onPlayBackStarted(self):
print("Strted")
def onPlayBackEnded(self):
xbmcgui.Dialog().ok(addonname, "Done Playing")
def onPlayBackStopped(self):
print("Strted")
def onPlayBackPaused(self):
print("Strted")
def onPlayBackResumed(self):
print("Strted")
player = BWPlayer()
player.play(item='file.mp4')
我是不是执行错了什么?
'player.play' 不是阻塞调用,这意味着您的脚本将继续 运行 最后,然后您的 player
实例超出范围并被垃圾收集.
您需要创建一些长运行ning 循环以防止您的脚本退出。像这样:
player.play(item='file.mp4')
xbmc.sleep(500) # Wait until playback starts
while player.isPlaying():
xbmc.sleep(500)
如果您需要您的脚本永远 运行(直到 Kodi 退出),那么您将需要这样的东西:
monitor = xbmc.Monitor()
monitor.waitForAbort()
monitor.waitForAbort()
将阻止您的脚本并防止它在 Kodi 运行ning 时退出。