我正在尝试制作一个程序,我可以在其中播放音乐,即mp3文件。我正在尝试使用winmm库来做到这一点。编译器给出了错误,我意识到该程序尚未与库正确链接,但是随后我在链接器设置中添加了库文件,现在该程序执行良好(没有错误的链接,没有错误的链接),但是没有播放音乐。我无法弄清楚问题是什么。我目前正在使用使用GCC编译器的CodeBlocks。有人可以解释问题是什么以及为什么音乐不播放?如果有人能帮助我,我会很感激!:)
我的代码(它只是打印文本,但没有播放音乐):
#include <stdio.h>
#pragma comment (lib, "winmm.a")
#include <windows.h>
#include <mmsystem.h>
int main()
{
printf("Hello world!n");
mciSendString("play song.mp3",NULL,NULL,NULL);
printf("nY");
mciSendString("pause song.mp3",NULL,NULL,NULL);
mciSendString("close song.mp3",NULL,NULL,NULL);
printf("ndone");
return 0;
}
mci命令立即返回。这意味着您立即停下来并在播放开始之前几乎没有关闭MP3。查看文档,您必须使用等待标志:
mciSendString("play song.mp3 wait",NULL,NULL,NULL);