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

函数原型:

BOOL WINAPI Beep(

__in          DWORD dwFreq,

__in          DWORD dwDuration

);

函数说明:

第一个参数表示频率,用Hz为单位,可以在0x25到0x7FFF之间。

第二个参数表示持续的时间,以毫秒为单位。

与这个函数类似的是:

BOOL WINAPI MessageBeep(

__in          UINT uType

);

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

可供选择的参数有:

MB_ICONASTERISK
0x00000040L

SystemAsterisk

MB_ICONEXCLAMATION
0x00000030L

SystemExclamation

MB_ICONHAND
0x00000010L

SystemHand 警告音

MB_ICONQUESTION
0x00000020L

SystemQuestion

MB_OK
0x00000000L

SystemDefault

再附上本人收藏的几个用Beep()播放音乐的程序,虽然音质无法与音频文件媲美,但做个小小的娱乐还是可以的:

生日快乐歌曲

// 播放  生日快乐#include <windows.h>void main(void)   {       unsigned FREQUENCY[] = {392,392,440,392,523,494,     392,392,440,392,587,523,     392,392,784,659,523,494,440,     689,689,523,587,523};       unsigned DELAY[] = {375,125,500,500,500,1000,     375,125,500,500,500,1000,     375,125,500,500,500,500,1000,     375,125,500,500,500,1000};       int i;       for (i = 0; i < 25; i++)       {     Beep(FREQUENCY[i], DELAY[i]);       }   } 

小酒窝

// 播放  小酒窝#include<iostream.h>#include<windows.h>enum fy{ d1 = 262, d1_ = 277, d2 = 294, d2_ = 311, d3 = 330, d4 = 349, d5 = 392, d5_= 415, d6 = 440, d6_= 466, d7 = 494, z1 = 523, z1_ = 554, z2 = 578, z2_ = 622, z3 = 659, z4 = 698, z4_ = 740, z5 = 784, z5_ = 831, z6 = 880, z6_ = 932, z7 = 988, g1 = 1046, g1_ = 1109, g2 = 1175, g2_ = 1245, g3 = 1318, g4 = 1397, g4_ = 1480, g5 = 1568, g5_ = 1661, g6 = 1760, g6_ = 1865, g7 = 1976, yaya = 0};struct yf{ enum fy s; int t;};int main(){ int n = 0; struct yf a[1000]={{z3,125},{z3,50},{z4,100},{z3,50},{z2,50}, //5 {z2,125},{z2,50},{z5,100},{z2,50},{z1,50}, //10 {z1,125},{z1,50},{z6,100},{z5,100},    //14 {z3,125},{z4,25},{z3,25},{z2,100},{z2,100}, //19 {z3,125},{z3,50},{z4,100},{z5,50},{z3,50}, //24 {z5,125},{z5,50},{g2,100},{z7,50},{g1,50}, //29 {g1,200},{g1,50},{z7,50},{z6,50},{z7,50}, //34 {g1,125},{z7,50},{g1,200},      //37 {g1,50},{z7,50},{g1,50},{z7,50},{g1,100},{z3,50},{z5,50}, //44 {z5,250},{z6,50},{z7,50},      //47 {g1,50},{z7,50},{g1,50},{z7,50},{g1,100},{g2,100},{g3,100}, //54 {g3,300},{z6,50},{z7,50},   //57 {g1,50},{z7,50},{g1,50},{z7,50},{g1,100},{g3,100}, //63 {z7,50},{z6,50},{z7,50},{z6,50},{z7,50},{z5,50},{z5,50},{g1,50}, //71 {g1,200},{g3,75},{g4,25},{g4,50},{g3,50}, //76 {g2,200},{yaya,50},{z5,50},{g1,50},{g2,50}, //81 {g3,50},{g1,50},{g1,50},{z5,50},{z5,100},{z5,50},{g3,50}, //88 {g2,50},{g3,50},{g2,50},{g1,50},{z5,50},{z5,50},{z6,50},{z7,50}, //96 {g1,50},{z6,50},{z6,50},{z3,50},{z3,100},{yaya,50},{z7,50}, //103 {g1,50},{z7,50},{g1,50},{g2,50},{z6,50},{z5,50},{z5,100}, //110 {z6,100},{z5,50},{z6,50},{z7,100},{g3,50},{g4,50}, //116 {g3,50},{g4,50},{g3,50},{g2,50},{g2,50},{g1,100},{z5,50}, //123 {z5,50},{z4,50},{z4,50},{g1,50},{g1,50},{g3,50},{g3,50},{g1,50}, //131 {g2,200},{yaya,50},{z5,50},{g1,50},{g2,50}, //136 {g3,50},{g1,50},{g1,50},{z5,50},{z5,100},{z5,50},{g3,50}, //143 {g2,50},{g3,50},{g2,50},{g1,50},{z5,50},{z5,50},{z6,50},{z7,50}, //151 {g1,50},{z6,50},{z6,50},{z3,50},{z3,100},{z3,50},{z7,50}, //158 {g1,50},{z7,50},{g1,50},{g2,50},{z6,50},{z5,50},{z5,100}, //165 {z6,50},{z7,50},{g1,50},{g2,100},{g3,50},{g4,50}, //171 {g3,50},{g4,50},{g2,50},{g1,50},{g2,50},{g1,50},{g1,100}, //178 {g2,50},{g1,50},{g2,50},{z6,50},{g1,100},{g2,50},{g1,50}, //185 {g1,400},   //186 {g2,50},{g1,50},{g2,50},{z6,50},{z7,100},{z7,50},{g1,50}, //193 {g1,400},   //194 }; struct yf *atop; atop = a; n = 194; while(n--) {  Beep(atop->s,atop->t*5);  atop++; } return 0;}

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

VC 用发音函数Beep 播放简谱音乐相关推荐

  1. Python调用Windows API函数编写录音机和音乐播放器

    功能描述: 1)使用tkinter设计程序界面: 2)调用Windows API函数实现录音机和音乐播放器. 参考代码: . 运行界面:

  2. C语言beep中有什么作用,C++中发声函数Beep用法

    当我们听到电脑上出现美妙的旋律的时候,是不是发现这是一个很伟大的开发,这就是C语言中Beep,下面爱站技术频道小编就给大家介绍C++中发声函数Beep用法. 下面是正文: •其实啊,Windows A ...

  3. 教你用代码奏响天空之城! (C++中发声函数Beep详解)

    Windows API 就提供了一个这样奇妙的发音函数,它就是Beep函数.Beep可以通过控制主板扬声器的发声频率和节拍来演奏美妙的旋律.使主板按你的要求发出美丽,动听的旋律. 首先我们来Beep的 ...

  4. 使用SDL2_mixer库播放MP3音乐

    使用SDL2_mixer库播放MP3音乐 运行环境:Ubuntu:16.04 开发环境准备 安装libsdl2-mixer-dev ~$ sudo apt install libsdl2-mixer- ...

  5. iOS音频播放之AudioQueue(一):播放本地音乐

    AudioQueue简介 AudioStreamer说明 AudioQueue详解 AudioQueue工作原理 AudioQueue主要接口 AudioQueueNewOutput AudioQue ...

  6. VC API常用函数简单例子大全(1-89)

    第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄 函数的定义:HWND WINAPI FindWindow(LPCSTR lpClassName ,LPCST ...

  7. android 判断 音乐是否播放,Android如何判断当前手机是否正在播放音乐并获取有关正在播放的音乐的信息...

    我想实现以下情况,以确定音乐是否正在Android手机上播放,如果是,则通过特定手势进行播放, 或单击一个按钮分享我当前正在听的音乐. 第一步是确定当前是否正在播放音乐. 一开始,我认为这有点复杂. ...

  8. MIDI应用: 播放midi音乐文件的方法 [Win32版本+ C语言版本]

    播放midi音乐文件的方法 背景说明: 在游戏编程中,给程序增加音效几乎是必须的;在普通程序中增加音效也会给使用者带来更好的体验;而mid格式的音效文件体积最小(大约1k到数十k),效果却不亚于MP3 ...

  9. 游戏编程入门(11):播放MIDI 音乐

    MIDI音乐是将音乐结合到游戏的最佳方式之一,本章就将介绍究竟如何使用相对较少的代码播放MIDI音乐. 本章内容包括: 如何使用MCI播放MIDI音乐 如何向游戏添加MIDI音乐 接上文 游戏编程入门 ...

  10. [收藏]播放MIDI音乐——使用DirectMusic

    ( 本文对象: DirectMusic 初学者,想快速知道使用 DirectMusic 播放音乐的人 ) 原作者By Kylinx, 2003-5-15 ,E-mail:game-diy@163.co ...

最新文章

  1. php imagecolorallocate 安装,PHP imagecolorallocate()和imagecolorallocatealpha():定义颜色
  2. pythonweb开发-PythonWeb开发教程(一),开发之前需要准备什么
  3. 分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载
  4. 经典C语言程序100例之九三
  5. 大牛推荐的15本学习数据分析挖掘的好书
  6. 希尔排序(分而治之)
  7. 安卓-08-布局管理器
  8. 力扣110. 平衡二叉树(JavaScript)
  9. 第四周课程总结实验报告二
  10. 移动互联网新协议 GTP 中被曝多个高危漏洞,影响4G和5G 用户
  11. 转载 网络上的8051 free IP core资源
  12. NSight统计数据的颜色,缩写意义是什么?来自NV Jeff Kiel 比较官方的解释!
  13. C语言的应用之单片机学习
  14. 软件工程—实践者的研究方法
  15. pandas_day08
  16. empty string mysql_Mysql中的null与empty string
  17. Untiy 接入 移动MM 详解 转
  18. 渤海银行增收不增利:信用卡等不良率暴涨,李伏安被市场“打脸”
  19. 【C++】洛谷P1873 [COCI 2011/2012 #5] EKO / 砍树
  20. 班级计算机应用论坛研讨,以“心”育人,处处花开——我校教师参加第四届中小学班主任高峰论坛暨班级管理策略专题研讨会...

热门文章

  1. chrome18-使用network waterfall分析页面载入性能
  2. 全国海选第三期:广州赛区节目视频
  3. segno-纯Python语言的二维码和微二维码生成器
  4. 告别脚本小子【编写端口扫描工具】
  5. 分享一款好用的Jetbrain插件-Jenkins Control
  6. 差分数组:PIPI的区间操作Ⅰ
  7. 爱加密so VMP浅析
  8. Ubuntu系统中清理DNS缓存
  9. 几个鲜为人知但很有用的 HTML 属性
  10. 数模转换DAC-TLC5615的说明