当前位置:首页 > 趣味小程序 > 正文内容

【C++图形化编程】播放背景音乐

亿万年的星光5年前 (2021-03-13)趣味小程序2729

再做小游戏的时候有的时候需要背景音乐,这一点EasyX也可以实现。

需要的头文件

#include <mmsystem.h>  //多媒体设备接口
#pragma comment(lib,"winmm.lib") //加载静态库

调用函数

mciSendString();
mciSendStringW(
     LPCWSTR lpstrCommand,//这里输入处理文件的命令
     LPWSTR lpstrReturnString,//没有的话就填NULL
     UINT uReturnLength,//没有就长度为0了
     HWND hwndCallback//和第二个一样
    );

打开音乐文件的操作

mciSendString(L"open .\\background.mp3 alias bkmusic",NULL,0,NULL);//vs多字节集就不要L,.代表的是当前文件位置,alias后面是自定义的别称

让音乐循环播放的操作

mciSendString(L"open .\\background.mp3 alias bkmusic",NULL,0,NULL);//bkmusic是自己定义的别名
 mciSendString(L"play bkmusic repeat", NULL, 0, NULL);


【参考代码】

注意:参考代码中只能播放名字为111.mp3的音乐文件,而且,必须何C++文件同一个目录。

#include <graphics.h>		// 引用图形库头文件
#include<cstdio>
#include<conio.h>
#include <mmsystem.h>  //多媒体设备接口
#pragma comment(lib,"winmm.lib") //加载静态库
 

//播放音乐的函数
void BGM(){
	mciSendString("open ./111.mp3 alias BGM",0,0,0);   //打开111.MP3文件,取别名为BGM
	mciSendString("play BGM repeat",0,0,0); //重复播放BGM
	if(0)
	{
		mciSendString("close BGM",0,0,0);
	}
}

int main(){
	initgraph(640,480);
	BGM();

	
	getchar();
		closegraph();			// 关闭绘图窗口

	return 0;
}


    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    分享给朋友:

    相关文章

    【C++图形化编程】EasyX函数~图形绘制相关函数(2)

    【C++图形化编程】EasyX函数~图形绘制相关函数(2)

    (1)ellipse  椭圆void ellipse( int left, int top, int right, int ...

    C++小游戏—反弹球实现打砖块

    C++小游戏—反弹球实现打砖块

    0.前言在上一篇中,我们用C++代码实现了弹球小游戏,上一篇链接可以点击这里查看。这一篇中,我们继续优化代码,使用上一篇的弹球小游戏进行扩展,实现打砖块效果。1.思路底部挡板跟随键盘移动在顶部生成目标...

    【C++图形化编程】飞机大战2——运动与碰撞检测

    上一篇中,简单实现了飞机大战的基本框架,这篇文章继续完善,使其可以进行游戏。#include <graphics.h> #include <conio.h>...

    C++小游戏—贪吃蛇(1)

    0.前言c++小游戏来到了第二个,第二个小游戏是贪吃蛇。首先来分析一下需求。我们需要一个函数专门来绘制地图的。在地图上随机生成“食物”。按键函数,用来监听键盘事件。蛇的状态函数。移动函数等。1.参考代...

    【C++图形化编程】EasyX函数~图像操作相关函数

    【C++图形化编程】EasyX函数~图像操作相关函数

    图像处理相关函数函数或数据类型描述IMAGE保存图像的对象loadimage读取图片文件saveimage保存绘图内容至图片文件getimage从当前绘图设备种获取图像putimage在当前绘图设备上...

    C++实现走迷宫小游戏

    1.简单版本简单版本是利用字符数组实现的,利用字符数组设定入口和出口,用户每次按键就刷新一下当前字符数组。参考代码:#include<stdio.h>#include<stdlib....