2

我正在尝试制作一个可以播放音乐的程序,即 mp3 文件。我正在尝试通过使用 winmm 库来做到这一点。起初,当我尝试链接它时,编译器给出了错误,我从中意识到该程序没有与库正确链接,但后来我在链接器设置中添加了库文件,现在程序执行良好(没有错误 - 表明它已正确链接)但没有播放音乐。我不知道问题是什么。我目前正在使用代码块,它使用 gcc 编译器。谁能解释问题是什么以及为什么音乐没有播放?如果有人可以帮助我,我将不胜感激!:)

我的代码(它只是打印文本但不播放音乐):

#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;
}
4

1 回答 1

4

MCI 命令立即返回。这意味着您在开始播放之前立即暂停并关闭 mp3。查看文档,您必须使用Wait Flag

mciSendString("play song.mp3 wait",NULL,NULL,NULL);
于 2012-12-23T19:57:19.597 回答