
VS2012中,MFC单文档如何添加背景音乐
要求点开程序随即开始自动播放音乐,并设置一个音乐按钮,用户可以自行关闭该音乐,同时也可以在关闭之后再次点击即为再次打开。百度到有playsound函数之类的,但是我还是不...
要求点开程序随即开始自动播放音乐,并设置一个音乐按钮,用户可以自行关闭该音乐,同时也可以在关闭之后再次点击即为再次打开。
百度到有playsound函数之类的,但是我还是不清楚具体要如何实现。即使不考虑按钮,只是在程序执行其他事情时候音乐要不停循环就让我很困扰了。好像有个词语叫多线程,可是到底是要怎么做才能让他多线程?
本人编程小白,先谢谢各位大侠~~ 展开
百度到有playsound函数之类的,但是我还是不清楚具体要如何实现。即使不考虑按钮,只是在程序执行其他事情时候音乐要不停循环就让我很困扰了。好像有个词语叫多线程,可是到底是要怎么做才能让他多线程?
本人编程小白,先谢谢各位大侠~~ 展开
展开全部
PlaySound可以满足你的需求,只要是异步循环模式,不会受到界面操作的干扰。
PlaySound("路径\\文件名.wav",NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);//开始播放
PlaySound("路径\\文件名.wav",NULL,SND_PURGE);//停止播放
这个函数只能播放wav音频文件或wav格式的资源。如果需要播放其它音乐类型,需要用MCI函数。
展开全部
我当时也是参考下面例子自己改写了一个音乐播放器(无聊写着玩的O(∩_∩)O~),这个例子一般常规功能都已经实现了。主要是MCI 实现 音乐播放。具体你可以下载代码 参考。
请参考下这个例子:http://tieba.baidu.com/p/2707246273
请参考下这个例子: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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询