快捷搜索: 王者荣耀 脱发

Python实现电子钢琴及封装

电子钢琴(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:pythonFileRuanDi2019_6sound\%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文件中我已上传我的资源,有需要请查看。
经验分享 程序员 微信小程序 职场和发展