当前位置 博文首页 > Weiyaner的博客:Python实现电子钢琴及封装

    Weiyaner的博客:Python实现电子钢琴及封装

    作者:[db:作者] 时间:2021-07-07 18:41

    电子钢琴(python)

    1、软件介绍

    通过键盘26个A-Z字符,弹奏曲谱。

    2、准备材料

    • 26个mp3音调文件
    • 由26个英文字符组成的乐谱

    3、核心流程

    1.通过ctypes包播放mp3文件

    ctypes.windll.winmm.mciSendStringW(r"open sound\%s.mp3 alias s%d" % (a,i),None,0,None)
    

    2.实时监测键盘的输入内容,进而实现,每按下一个键,就会立即调用对应的MP3文件。通过msvcrt.getch()进行键盘输入,decode将字节型数据类型转码为字符型

    a = msvcrt.getche().decode() 
    

    3.当第一个音发出后,按下第二个键立马转换成第二个音,由此构造出声音的连续

    4.软件的封装(标题+背景颜色+图标)

    4、完整代码

    import ctypes
    import msvcrt
    import os
    
    i=1
    os.system("title WeiYaner_piano")   #修改运行界面的标题
    os.system("color 3f" )
    while True:
        try:
            a = msvcrt.getche().decode()      #getche有回显效果,getch没有,都不需要按回车键
        #    ctypes.windll.winmm.mciSendStringW(r"open D:\pythonFile\RuanDi2019_6\sound\%s.mp3 alias s%d" % (a,i),None,0,None)
            ctypes.windll.winmm.mciSendStringW(r"open sound\%s.mp3 alias s%d" % (a,i),None,0,None)        
            ctypes.windll.winmm.mciSendStringW(r"play s%d " % i,None,0,None)
        except:
            pass
        i+=1
    

    5、封装

    在程序所在文件夹,按住 ‘Shift’ + 右键,进入powershell窗口

    pyinstaller -F 程序名.py -i 图标名.ico
    

    封装完后,将sound文件夹复制到 应用.exe 所在文件夹中即可

    6、说明

    • sound文件夹里面是a-z按键的26个mp3文件,这里采用的是相对地址搜索
    • 相对地址中,要保证sound和程序在一个文件夹中
    • sound文件中我已上传我的资源,有需要请查看。点击这里下载
    cs