一. 系统提示音
最简单的声音就是这个了…
cout<<"\a";
二. Beep()函数
可以根据声音的频率发出声音,比较硬核。
1. 函数原型
BOOL Beep(
DWORD dwFreq;
DWORD dwDuration;
);
2. 参数说明
dwFreq 指定要发出的频率(HZ)。
dwDuration 指定发音的时长,以毫秒为单位。
3. 代码测试 (原作者地址不见了,链接没补上)
播放的是天空之城
#include <iostream>
#include <Windows.h>
using namespace std;
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;
};
struct Yf Music[1000] =
{
{z6,50},{z7,50},{g1,150},{z7,50},{g1,100}, //5
{g3,100},{z7,300},{z3,100},{z6,150},{z5,50}, //10
{z6,100},{g1,100},{z5,300},{z2,50}, //14
{z3,50},{z4,150},{z3,50},{z4,50},{g1,150}, //19
{z3,150},{z2,50},{z3,50},{g1,150},{z7,150}, //24
{z4_,50},{z4_,100},{z7,100},{z7,200},{z6,50}, //29
{z7,50},{g1,150},{z7,50},{g1,100},{g3,100}, //34
{z7,200},{z3,100},{z6,150}, //37
{z5,50},{z6,100},{g1,100},{z5,300},{z3,100},{z4,100},{g1,50}, //44
{z7,150},{g1,100},{g2,100}, //47
{g3,50},{g1,150},{g1,50},{z7,50},{z6,100},{z7,100},{z5_,100}, //54
{z6,300},{g1,50},{g2,50}, //57
{g3,150},{g2,50},{g3,100},{g5,100},{g2,300},{z5,100}, //63
{g1,150},{z7,50},{g1,100},{g3,100},{g3,300},{z6,50},{z7,50},{g1,150}, //71
{z7,50},{g1,100},{g2,100},{g1,150},{z5,50}, //76
{z5,200},{g4,100},{g3,100},{g2,100},{g1,100}, //81
{g3,400},{yaya,50},{g3,50},{g6,200},{g5,100},{g5,100},{g3,50}, //88
{g2,50},{g1,100},{yaya,50},{g1,50},{g2,100},{g1,50},{g2,100},{g5,100}, //96
{g3,200},{yaya,50},{g3,50},{g6,200},{g5,200},{g3,50},{g2,50}, //103
{g1,200},{yaya,50},{g1,50},{g2,100},{g1,50},{g2,100},{z7,100}, //110
{z6,200},{yaya,100},{z6,50},{z7,50},{z6,500}
};
int main()
{
for (int i = 0; i <194; ++i) {
Beep(Music[i].s, Music[i].t * 5);
}
return 0;
}
三. PlaySound()函数
直接播放.wav音乐文件,似乎是不错的选择。
1. 函数原型
BOOL PlaySound(
LPCTSTR pszSound,
HMODULE hmod,
DWORD fdwSound
);
2. 参数说明
pszSound 指定要播放的声音。
hmod 指向包含要加载资源的可执行文件的句柄。
fdwSound 用于播放声音的标志。
- SND_FILENAME:通过文件名播放音乐
- SND_RESOURCE:通过资源标识符播放音乐
- SND_ASYNC:异步播放
- SND_LOOP:循环播放
3. 代码测试
#include <iostream>
#include <Windows.h>
#include <Mmsystem.h>
#pragma comment(lib,"winmm.lib")
using namespace std;
int main()
{
PlaySound(TEXT("D:/BaiduNetdiskDownload/Love.wav"), nullptr, SND_FILENAME | SND_SYNC);
return 0;
}
4. 可能的问题
- 音乐地址有误。包括地址符错误和可能的中文编码问题。
- 未引用相关头文件。