最近刚开始学习运用easyx,但在用mciSendString时无法播放音乐,编译完全能通过,但就是无法播放音乐,但图片都能插入进来
源代码如下
#include<stdio.h>
#include<Windows.h>
#include<graphics.h>//包含图形库头文件
#include<mmsystem.h>//包含多媒体设备接口头文件
#pragma comment(lib,"winmm.lib")
void PlayBGM()
{
mciSendString("open E:/Visual Studio 代码/EasyX practice 1/Saved Pictures/霜雪千年.mp3 alias BGM", 0, 0, 0);//打开音乐,向多媒体设备接口发送一个字符串 ,代表指令
mciSendString("play BGM wait", 0, 0, 0);//播放音乐
mciSendString("close BGM", 0, 0, 0);
}
int main()
{
initgraph(640, 480, NOCLOSE|NOMINIMIZE);//定义窗口的宽和高
IMAGE img;
loadimage(&img, "E:/Visual Studio 代码/EasyX practice 1/Saved Pictures/42BEA21B730B6C289BA516BD4CA85267.jpg");
putimage(0, 0, &img);
PlayBGM();
while (1)
{
//使程序处于循环中
}
看网上有的人说是可能我下载的音乐文件看似是mp3实则不是,于是我先后用酷狗、qq音乐、网易云下载mp3格式的音乐并尝试,但都没用;还有人说可以在代码中加入system(“pause”)这个指令,但尝试过后发现也没用
请问该如何解决我的问题啊
首先说明一点,mciSendString函数与easyx库半点关系都没有,它不是easyx的api。至于这个问题,你用wait模式,又不用多线程,所以程序会一直停留在10行,直到音乐播放完成。至于播放,我这里完全可以正常播放