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下面用。 

posted @ 2014-06-13 20:06  陈清扬  阅读(5784)  评论(0编辑  收藏  举报