在C语言中播放音乐,可以使用Windows的多媒体控制接口(MCI)函数或者第三方库。以下是使用MCI函数播放MP3音乐的基本步骤和示例代码:
包含头文件
```c
include include pragma comment(lib, "winmm.lib") ``` ```c void init_mci() { mciSendString("set cdaudio driver to waveaudio", NULL, 0, NULL); } ``` ```c int open_music(const char* file_path, const char* alias) { return mciSendString(CString(file_path) + " alias " + CString(alias), NULL, 0, NULL); } ``` ```c void play_music(const char* alias) { mciSendString("play " + CString(alias), NULL, 0, NULL); } ``` ```c void stop_music(const char* alias) { mciSendString("stop " + CString(alias), NULL, 0, NULL); } ``` ```c void close_music(const char* alias) { mciSendString("close " + CString(alias), NULL, 0, NULL); } ``` ```c int main() { initgraph(640, 480); // 初始化图形界面 init_mci(); // 初始化MCI const char* music_file = "background.mp3"; const char* alias = "mymusic"; if (open_music(music_file, alias) == 0) { play_music(alias); // 播放音乐 getch(); // 等待用户按键 stop_music(alias); // 停止播放 close_music(alias); // 关闭音乐文件 } else { printf("无法打开音乐文件\n"); } closegraph(); // 关闭图形界面 return 0; } ``` 注意事项: 确保`winmm.lib`库已经链接到你的项目中。 替换`music_file`和`alias`变量的值为你的MP3文件路径和期望的别名。 如果需要循环播放,可以在播放命令中添加`repeat`关键字,例如:`mciSendString("play mymusic repeat", NULL, 0, NULL);`。 这个方法适用于MP3文件,如果你需要播放WAV文件,可以使用`PlaySound`函数,如下所示: ```c include include pragma comment(lib, "winmm.lib") int main() { PlaySound("Data\\1.wav", NULL, SND_FILENAME | SND_ASYNC | SND_LOOP); Sleep(50000); // 等待声音播放结束 return 0; } ``` 请根据你的具体需求选择合适的方法。初始化MCI
打开音乐文件并设置别名
播放音乐
停止播放
关闭音乐文件
主函数示例