python的mp3play库试用
没有见过比这个更小型的库了,下面程序实现的功能:播放音乐,按空格键实现暂停和播放的切换。
#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下面用。