沒有見過比這個更小型的庫了,下面程序實現的功能:播放音樂,按空格鍵實現暫停和播放的切換。
#coding=utf-8 import mp3play import pythoncom, pyHook input = 0 pauseFlag=1 def onKeyboardEvent(event): global input,pauseFlag input = chr(event.Ascii) if input==' ': pauseFlag=-pauseFlag if pauseFlag<0: mp3.pause() if pauseFlag>0: mp3.unpause() # print "MessageName:", event.MessageName # print "Message:", event.Message # print "Time:", event.Time # print "Window:", event.Window # print "WindowName:", event.WindowName print "Ascii:", event.Ascii, chr(event.Ascii) # print "Key:", event.Key # print "KeyID:", event.KeyID # print "ScanCode:", event.ScanCode # print "Extended:", event.Extended # print "Injected:", event.Injected # print "Alt", event.Alt # print "Transition", event.Transition # print "---" return True filename = 'test.mp3' mp3 = mp3play.load(filename) mp3.play() print mp3.seconds() monitor = pyHook.HookManager() monitor.KeyDown = onKeyboardEvent monitor.HookKeyboard() pythoncom.PumpMessages()
需要引用的庫:pyWin32和pyHook,在sourceforge上下載。
pyHook的使用范例:python監聽鍵盤和鼠標
pythoncom.PumpMessages()比較有意思,就是讓線程死在這里,一直等待鍵盤或鼠標行為,如果debug的話會發現程序運行到這句話的時候debugger就掛掉了。所以如果需要對監聽的結果執行一些行為,就需要寫在觸發事件函數里,不然無法響應。
mp3play提供的幾個函數極其簡單,不過也夠用了,就這么幾個:
有如下功能:
1.返回歌曲的長度(時間)
2.判斷歌曲是否在播放,是否被暫停
3.暫停以及繼續(unpause)
4.音量
5.停止,停止和暫停的區別就是停止了就不能繼續了
注:這個庫只能在windows下面用。