我使用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