[toc]

使用c语言中的媒体库播放声音

1.c语言使用Winapi播放声音

  1. 准备一个WAV格式的音乐,PlaySound函数只能播放WAV格式的音乐
1
2
3
4
5
6
7
8
9
10
11
12
#include <windows.h>
#include <mmsystem.h>
#include <stdio.h>
#pragma comment(lib,"winmm.lib")

int main() {

BOOL flag=PlaySoundA("D:\\Users\\3\\Videos\\落叶的位置.wav", NULL, SND_SYNC);
if(!flag)printf("%d\n",GetLastError());
return 0;
}

  1. 准备一个mp3格式的音乐,使用mciSendString播放
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <windows.h>
#include <stdio.h>
#pragma comment(lib,"winmm.lib")

int main() {
// 打开音频文件
mciSendStringA("open \"D:\\Users\\3\\Videos\\落叶的位置.mp3\" type mpegvideo alias mp3", NULL, 0, NULL);

// 播放音频文件
mciSendStringA("play mp3", NULL, 0, NULL);

// 等待播放完成
printf("Press Enter to stop playback...\n");
getchar();

// 停止播放
mciSendStringA("stop mp3", NULL, 0, NULL);

// 关闭音频文件
mciSendStringA("close mp3", NULL, 0, NULL);

return 0;
}