小白C语言播放音乐

为了实现用c语言播放音乐,查阅了一些资料,发现要用到 mciSendString这个函数,这是windows的一个API,引用的话需要在头文件处输入指令
#pragma comment(lib,"Winmm.lib")
//头文件
#include

具体播放的代码是这样的

int main()
{
	mciSendString("open D:\\MusicResource\\abc.mp3 alias bkmusic", NULL, 0, NULL);
	mciSendString("play bkmusic repeat", NULL, 0, NULL);        //循环播放音乐
	
	_getch();
	return 0;
}

open指令打开需要播放的音乐,alias后面制定了前面文件路径的别名,以后想要操作这个文件直接使用这个别名就行了,后面的三个参数平时,就记着写作NULL,0,NULL即可。

第二条play指令后面接上面定义的别名,repeat表示歌曲循环播放。如果想要在音乐播放时停止播放,有以下代码

	mciSendString("stop bkmusic", NULL, 0, NULL);		//停止播放音乐
	mciSendString("close bkmusic", NULL, 0, NULL);		//关闭音乐

总而言之:play mymusic 开始播放,stop mymusic 停止播放,close mymusic 关闭文件,如果需要同时播放多个音乐的话应该为每个音乐设置不同的别名,这样就可以了

还可以将音乐播放封装为一个函数

void PlayMusic(const char* FileName)
{
	char cmdString[50] = "open ";
	strcat_s(cmdString, FileName);
	strcat_s(cmdString, " alias bkmusic");
	mciSendString("close bkmusic", NULL, 0, NULL);		//把上一次的音乐关掉	
	mciSendString(cmdString, NULL, 0, NULL);			//打开音乐
	mciSendString("play bkmusic", NULL, 0, NULL);		//播放一次音乐
}
int main()
{
	PlayMusic("D:\\MusicResource\\abc.mp3");
	_getch();
	return 0;
}

额外:还有一个函数PlaySound可以用来播放音乐,但是不支持mp3和wma



你可能感兴趣的:(小白C语言播放音乐)