micSendString播放不出音乐

0
#include<stdio.h>
#include<graphics.h>
#include<mmsystem.h>
#include<conio.h>
#pragma comment(lib,"Winmm.lib")
void PlayBGM()
{
	mciSendString(L"open D:\\一些代码\\Easy\\福禄寿FloruitShow - 我用什么把你留住.mp3", 0, 0, 0);
	mciSendString(L"play D:\\一些代码\\Easy\\福禄寿FloruitShow - 我用什么把你留住.mp3",0,0,0);
}
int main()
{
	initgraph(320, 480);
	IMAGE img;
	loadimage(&img, L"D:\\一些代码\\Easy\\尝试一下\\timg.jpg");
	putimage(0, 0, &img);
	PlayBGM();
	while(1)
	{ }
	return 0;
}
ava
苦樂

2020-10-27

0

你的音乐文件的路径中有空格,需要用双引号引起来。在字符串里面使用双引号,需要使用转义符。所以,你应该这么写:

	mciSendString(L"open \"D:\\一些代码\\Easy\\福禄寿FloruitShow - 我用什么把你留住.mp3\"", 0, 0, 0);
	mciSendString(L"play \"D:\\一些代码\\Easy\\福禄寿FloruitShow - 我用什么把你留住.mp3\"", 0, 0, 0);

顺便,你的空 while 循环太消耗 CPU 了,可以加一个 Sleep(100) 在里面,表示延时 100 毫秒。

ava
慢羊羊

2020-10-27

技术讨论社区