zoukankan      html  css  js  c++  java
  • 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下面用。 

  • 相关阅读:
    gitlab Failed to register this runner. Perhaps you are having network problems runner 注册失败问题解决
    gitlab pipelines 使用
    centos 7 bbr 安装
    kafka ksql && docker 安装试用
    netflix vector 系统性能监控安装使用
    keycloak && docker安装 &&spring boot 集成使用
    gogs docker 安装
    alpine docker 镜像 时区问题
    nginx 流量拷贝模块 ngx_http_mirror_module 安装试用
    ulimit  设置
  • 原文地址:https://www.cnblogs.com/chenqingyang/p/3786729.html
Copyright © 2011-2022 走看看