Win32 API中有个非常有意思的发音函数Beep(),可以用它在扬声器上播放简单的音调,如果按简谱来设置播放的内容,就可以模拟音乐的播放

  1. BOOL WINAPI Beep(
  2. __in          DWORD dwFreq,
  3. __in          DWORD dwDuration
  4. );

函数说明
第一个参数:频率,用Hz为单位,可以在0x25到0x7FFF之间。
第二个参数:持续的时间,单位[毫秒]。

与这个函数类似的是:

  1. BOOL WINAPI MessageBeep(
  2. __in          UINT uType
  3. );

复制代码

这个函数使用要广泛的多。相当多的程序在MessageBox()之前都会调用MessageBeep()来发出一些提示音(实际上是播放系统音乐文件)。

下面我们来用beep()函数来造一个音乐键盘 不过很lou

#include<iostream>

#include<windows.h>
#include<conio.h>
using namespace std;
enum fy
{
d1 = 131, d1_ = 139, d2 = 147, d2_ = 156, d3 = 165, d4 = 175, d4_ = 185, d5 = 196, 
d5_ = 208, d6 = 220, d6_ = 233, d7 = 247,
z1 = 262, z1_ = 277, z2 = 294, z2_ = 311, z3 = 330, z4 = 349, z4_ = 367, z5 = 392,
z5_ = 415, z6 = 440, z6_ = 466, z7 = 494,
g1 = 523, g1_ = 554, g2 = 578, g2_ = 622, g3 = 659, g4 = 698, g4_ = 740, g5 = 784, 
g5_ = 831, g6 = 880, g6_ = 932, g7 = 988,
c1 = 1046,c1_ = 1109, c2 = 1175, c2_ = 1245, c3 = 1318, c4 = 1397, c4_ = 1480, c5 = 1568, 
c5_ = 1661, c6 = 1760, c6_ = 1865, c7 = 1976, yaya = 0
};

struct yf
{
enum fy s;
int t;
};

int main()
{
int num;
while (true)
{
FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
switch (getch())
{
case 'z':
num = d1;
break;
case 'x':
num = d2;
break;
case 'c':
num = d3;
break;
case 'v':
num = d4;
break;
case 'b':
num = d5;
break;
case 'n':
num = d6;
break;
case 'm':
num = d7;
break;
case ',':
num = z1;
break;
case '.':
num = z2;
break;
case '/':
num = z3;
break;
case 'a':
num = z1;
break;
case 's': 
num = z2;
break;
case 'd': 
num = z3;
break;
case 'f': 
num = z4;
break;
case 'g': 
num = z5;
break;
case 'h': 
num = z6;
break;
case 'j':
num = z7;
break;
case 'k':
num = g1;
break;
case 'l':
num = g2;
break;
case ';':
num = g3;
break;
case '\'':
num = g4;
break;
case 'q':
num = g1;
break;
case 'w':
num = g2;
break;
case 'e':
num = g3;
break;
case 'r':
num = g4;
break;
case 't':
num = g5;
break;
case 'y':
num = g6;
break;
case 'u':
num = g7;
break;
case 'i':
num = c1;
break;
case 'o':
num = c2;
break;
case 'p':
num = c3;
break;
case '[':
num = c4;
break;
case ']':
num = c5;
break;
case '\\':
num = c6;
break;
default:
num = yaya;
break;
}
Beep(num,500);
}

return 0;
}

C语言使用系统声音制作很lou的音乐键盘相关推荐

  1. c语言中手机系统,一种手机课堂C语言编程系统的制作方法

    技术特征: 1.一种手机课堂C语言编程系统,其特征在于:该系统由手机端C语言编译运行单元.嵌入式主机端传输单元.台式机端显示单元和投影仪端显示单元组成:所述手机端C语言编译运行单元.嵌入式主机端传输单 ...

  2. c语言植入手机系统,一种手机课堂C语言编程系统的制作方法

    本发明属于一种编程系统技术领域,特别涉及一种手机课堂C语言编程系统. 背景技术: 现如今,许多高等院校都开设了程序开发与设计课程,越来越多的学生会了解到什么是编程语言,编程语言能干什么.其中C语言作为 ...

  3. 介绍一种很棒的wince 如何替换系统声音的方法

    Topic:介绍一种很棒的wince 如何替换系统声音的方法(作者:Baiduluckyboy) //------------------------------------------------- ...

  4. java sql封装,在Java系统中封装SQL语言的处理方法及系统的制作方法

    在Java系统中封装SQL语言的处理方法及系统的制作方法[ 技术领域: ][0001]本发明涉及计算机数据处理 技术领域: ,特别是涉及一种在Java系统中封装SQL语言的处理方法及系统.[ 背景技术 ...

  5. win10系统声音很大,音频播放声音特小的问题

    上午本来想放个视频,用电脑自带的播放器,发现没声,然后把扬声器设成默认设备,系统声音和播放器调到最大后,声音好像有了,但是特小,而且QQ.微信的语音.网页视频声音也都很小,可能不仔细听都不会注意到有声 ...

  6. 网吧系统母盘制作(系统分区整体考虑优化配置篇)

    网吧系统母盘制作(系统分区整体考虑优化配置篇) 40G ( C:5G D:5G E:30G) 80G (c:5 D:5 e:70) 若机房安装比如偶所在的这个要装以下一些列程序 Macromedia ...

  7. python注册系统_Python制作简易注册登录系统

    Python制作简易注册登录系统 这篇文章主要为大家详细介绍了 Python 简易注册登录系统的制作方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Python 是一种面向对象.解释型计算机程 ...

  8. 基于java的oa协同办公系统_基于JAVA的OA系统的制作毕业设计论文

    <基于JAVA的OA系统的制作毕业设计论文.doc>由会员分享,可免费在线阅读全文,更多与<基于JAVA的OA系统的制作毕业设计论文>相关文档资源请在帮帮文库(www.woc8 ...

  9. C语言论坛系统[2023-01-03]

    C语言论坛系统[2023-01-03] 论坛系统设计 课程说明 需要提交的内容包括两个部分. 第一部分,对代码功能的讲解. 课设要求最后每个同学录制一个讲解视频,对着自己代码的功能进行讲解. 讲解时, ...

最新文章

  1. NLP(4) | 用词向量技术简单分析红楼梦人物关系用n-gramma生成词向量word2vect进行模型训练
  2. 【Boost】boost库asio详解6——boost::asio::error的用法浅析
  3. 微信wechat.class.php,laravel使用组件实现微信网页授权登入
  4. Python3网络爬虫开发实战分析Ajax爬取今日头条街拍美图
  5. WPF调用图片路径,或资源图片
  6. java基础---对象锁和类锁的区别
  7. led灯光衰怎么解决_花小钱办大事 主流直插式LED大灯横评
  8. jQuery表格排序(tablesorter)
  9. Tomcat 发布时war解压
  10. java源文件结构_Java源文件结构详解
  11. 使用opencv和双目摄像头制作裸眼3d视频
  12. 简要介绍SIGMOD2021接收的区块链相关论文
  13. 完整PLC smart200伺服液压PID一套程序
  14. JAVA实现Excel照相机功能_Excel如何将工作表转换为图片,并随着数据的变化自动更新?...
  15. 扫一扫跳转到微信非官方网页提醒页面解决方案
  16. vim显示行号的设置方法
  17. 【Moasure魔尺】什么是运动测量
  18. 力扣 731. 我的日程安排表 II
  19. aps生产排程约束理论的应用
  20. 如何在线下载简历模板?手机上怎么下载简历?

热门文章

  1. python彩色字体_Python 打印彩色字体
  2. haz1服务器维护,耗时6天-----巴大叔黑群扩容8T无损更换12T硬盘
  3. 半导体器件物理【10】载流子输运现象 —— 电流密度、散射
  4. 钉钉机器人单聊实现互动卡片推送
  5. [多图]Windows Phone 8评测 系统改进幅度并不大
  6. 嵌入式基于Flash上的文件系统
  7. SAP部分付款与剩余付款
  8. c++截屏,并保存。
  9. mysql date和time组合_使用 MySQL Date/Time 类型
  10. PTA7-85:藏头诗