VS2012中,MFC单文档如何添加背景音乐

要求点开程序随即开始自动播放音乐,并设置一个音乐按钮,用户可以自行关闭该音乐,同时也可以在关闭之后再次点击即为再次打开。百度到有playsound函数之类的,但是我还是不... 要求点开程序随即开始自动播放音乐,并设置一个音乐按钮,用户可以自行关闭该音乐,同时也可以在关闭之后再次点击即为再次打开。

百度到有playsound函数之类的,但是我还是不清楚具体要如何实现。即使不考虑按钮,只是在程序执行其他事情时候音乐要不停循环就让我很困扰了。好像有个词语叫多线程,可是到底是要怎么做才能让他多线程?
本人编程小白,先谢谢各位大侠~~
展开
 我来答
bhtzu
2015-04-30 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4268万
展开全部

PlaySound可以满足你的需求,只要是异步循环模式,不会受到界面操作的干扰。

PlaySound("路径\\文件名.wav",NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);//开始播放
PlaySound("路径\\文件名.wav",NULL,SND_PURGE);//停止播放

这个函数只能播放wav音频文件或wav格式的资源。如果需要播放其它音乐类型,需要用MCI函数。

博思aippt
2024-07-20 广告
作为深圳市博思云创科技有限公司的工作人员,对于Word文档生成PPT的操作,我们有以下建议:1. 使用另存为功能:在Word中编辑完文档后,点击文件->另存为,选择PowerPoint演示文稿(*.pptx)格式,即可将文档内容转换为PPT... 点击进入详情页
本回答由博思aippt提供
0混室摸王0
2015-04-30 · 超过99用户采纳过TA的回答
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:158万
展开全部
我当时也是参考下面例子自己改写了一个音乐播放器(无聊写着玩的O(∩_∩)O~),这个例子一般常规功能都已经实现了。主要是MCI 实现 音乐播放。具体你可以下载代码 参考。

请参考下这个例子:http://tieba.baidu.com/p/2707246273
追问
我并不是想要那种强大的音乐播放器,只是程序里面的背景音乐而已。
追答
哎....你看下代码 提取下播放函数就行啊 !
#include //必须包含这文件
#pragma comment( lib, "Winmm.lib" ) //必须包含这文件

CString str_Mus = _T("res\\最真的梦.mp3");
if (PathFileExists(str_Mus))
{
//播放背景音乐
wDeviceID = playMusic(_T("res\\最真的梦.mp3"));
}

MCIDEVICEID CCommonClass::playMusic(CString path)
{
MCI_OPEN_PARMS open = { 0 };//定义并初始化结构体
char szErr[100] = {0};//定义保存错误数组

open.lpstrElementName = path;//指定不放文件路径
open.lpstrDeviceType = _T("mpegvideo");//指定播放设备

DWORD err;//定义错误信息
err = mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_ELEMENT | MCI_WAIT, (DWORD)(LPVOID)&open);//初始化音频设备
if (err == 0)
{
MCI_PLAY_PARMS play;
play.dwFrom = 0;
play.dwCallback = NULL;

mciSendCommand(open.wDeviceID, MCI_PLAY, 0, (DWORD)&play);
}
else
{
//**
mciGetErrorString(err, (LPWSTR)szErr, 100);
}

return open.wDeviceID;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式