我使用python脚本成功地使用libVLC播放视频,但是我需要实现event_ manager来识别&服务于玩家的事件。如何使用python实现LibVLC的事件管理器
我写了这样的代码如下:
import os
import sys
import vlc
from vlc import EventType
def video_end_reached():
print "end_reached"
player.stop()
if __name__ == '__main__':
filepath = "D:\\CHANDU_DATA\\ADAS_Automation\\LibVLC\\video_Python\\KUK_iPod.mp4"
movie = os.path.expanduser(filepath)
#if 'http://' not in filepath:
#if not os.access(movie, os.R_OK):
#print ('Error: %s file is not readable' % movie)
#sys.exit(1)
instance = vlc.Instance("--sout=#duplicate{dst=display{audio}}")
try:
media = instance.media_new(movie)
except NameError:
print ('NameError: % (%s vs Libvlc %s)' % (sys.exc_info()[1],
vlc.__version__, vlc.libvlc_get_version()))
sys.exit(1)
player = instance.media_player_new()
event_manager = player.event_manager()
player.set_media(media)
player.play()
event_manager.event_attach(EventType.MediaPlayerEndReached, video_end_reached)
while():
continue
,但我试图执行此代码得到的错误,如:
Traceback (most recent call last):
File "D:\CHANDU_DATA\ADAS_Automation\LibVLC\video_Python\video.py", line 33, in <module>
event_manager.event_attach(EventType.MediaPlayerEndReached, video_end_reached)
File "D:\CHANDU_DATA\ADAS_Automation\LibVLC\video_Python\vlc.py", line 1481, in event_attach
raise VLCException("%s required: %r" % ('argument', callback))
VLCException: argument required: <function video_end_reached at 0x02DAECF0>
请解释为什么这个错误发生&如何纠正它?任何人都可以提到如何使用python实现LibVLC的事件管理器?
我发现它与用于LibVLC使用python脚本成功实施事件管理器: – chandu
你是怎么事件监听器开火? 我遇到了麻烦。 event_m = m.event_manager() event_m_p = p.event_manager() #player event_m_p.event_attach(vlc.EventType.MediaPlayerTitleChanged,回调) 的#media event_m.event_attach(vlc.EventType.MediaMetaChanged,回调) 我有一个称为回调(e)的函数,但没有任何火灾发生。 介意你我正在播放收音机的pls文件。 – user1086377