电子钢琴(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 osi=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:passi+=1

5、封装

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

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

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

6、说明

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

Python实现电子钢琴及封装相关推荐

  1. 用Python制作简易播放器(电子钢琴) mac系统

    用Python制作简易播放器(电子钢琴) 开发环境:Python3.7 Mac OS 思路: 先根据需要设计GUI的样式,并思考需要定义什么功能 把功能写出来 把功能填入GUI之中 用曲子测试完整的程 ...

  2. 【Labplus 3】掌控板-电子钢琴

    在文本式代码编程中需要查阅大量的文档,看文字看纯代码在逐步由被迫适应到主动接受.但在少儿编程中,图片.视频对青少年的视觉冲击更大,通过跟孩子们的实际接触,个人觉得[少文字,多图案,碰实物,真感受]的教 ...

  3. 嵌入式开发--电子钢琴项目(Linux+C开发)附上源码

    文章目录 电子钢琴项目 前言 一.环境搭建 二.开发板的使用与Linux文件IO 三.项目界面显示 四.触摸屏应用 五.收工躺平 电子钢琴项目 前言 复盘一下之前做的一个小项目,温习一下c语言和Lin ...

  4. 教你弹奏电子钢琴【Flash版】

    就算你不懂音乐也能弹出动听的歌曲,这就是我下面给大家介绍的好东东--电子钢琴flash版,也是刚刚在有意思吧这一个网站上无意发现的,试试吧,很不错呢,可以自己模拟钢琴弹奏各种曲子.其实,这款Flash ...

  5. Python基础day09【面向对象(封装、继承、多态)、重写、私有权限】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day09[面向对象(封装.继承.多态).重写.私有权限] Python基础day ...

  6. Python监视电子邮箱并提示收到新邮件

    代码功能:程序运行后,提示输入电子邮箱账号和密码,然后模拟登录.获取最新邮件ID.退出的操作,如果有新邮件则进行提示. 参考代码: ----------喜大普奔---------- 1.董付国老师Py ...

  7. python类的封装是什么意思_python类封装 python中将函数和变量封装成类的好处

    Python中的封装有什么作用?发现自己的错误,就是开悟:改正自己的错误,就是成就. 日常生活中可以看到很多的汽车,汽车包括车轮.发动机.车架等零部件.可以在车架上安装车轮,然后安装发动机,最后安装其 ...

  8. android小程序-电子钢琴-滑动连续响应

    原创文字,转载请标明出处: 利用Button实现简单地电子钢琴,可以简单地响应按钮的click事件来发出相应的声音.但是这样不能达到手指在屏幕滑动,而连续发声的效果,就像手指在真实钢琴按键上滑过一样. ...

  9. VS2013写智能电子钢琴

    软件:VS2013-->win32应用程序 语言: C/C++ 程序功能:   运行程序后自动播放一段示例音乐,开始自由演奏(用户再按下1~7数字键发出对应音符) 下载地址:https://do ...

最新文章

  1. Windows7上使用VS2013编译Caffe源码(不带GPU支持)步骤
  2. Java内存溢出(OOM)异常完全指南
  3. 【牛客 - 369C】小A与欧拉路(bfs树的直径)
  4. EasyTrader踩坑之旅总结
  5. NAT(网络地址转换)实现方式
  6. 没钱也创业——教你空手道白手创业
  7. 用户配置文件同步服务,显示为正在启动解决办法
  8. 关于RecyclerView(二)设置EmptyView
  9. AcWing提高算法课Level-3 第四章 高级数据结构
  10. vn的可变数据类型_可变与不可变数据类型详解
  11. java 生成jni_Javah生成JNI头文件
  12. 【调查】35 岁以下的青年科研(青椒)人员工资多少?生活过得怎么样?
  13. 小学生如何用计算机写字,小学生练字笔顺电脑文章大全短文
  14. 用Python实现TXT文件分割
  15. 访问chm文件出现 已取消到该网页的导航的解决方法
  16. 佛祖保佑代码无bug图片_佛祖保佑,永无BUG
  17. 多个域名和IP指向带www主域名
  18. Scratch简单10以内加法游戏
  19. 苹果CMS V10大气橙色风格影视电影视频网站模板
  20. 仿世纪佳缘会员注册页

热门文章

  1. 中鑫优配热点前瞻:国防军工+数据安全+燃料电池+煤炭
  2. 对随机数去重并进行排序 java
  3. ROS学习记录(二)玩转海龟——海龟保姆级教程
  4. 电大计算机C语言1253,1253《C语言程序设计》电大期末精彩试题及其问题详解
  5. ZYNQ空间地址详细配置
  6. css+js 实现炫酷的魔方旋转
  7. 银联支付页面怎么调起 php,php银联网页支付实现方法
  8. 拼多多商家后台字体加密分析
  9. 如何删除【我的电脑】之【设备和驱动器】中的 爱奇艺、百度网盘或者WPS网盘图标
  10. USB音频芯片/TYPE-C音视频处理芯片方案选型表