光电阴极材料论文:怎么在VC里添加背景音乐啊?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/02 07:31:34
最好给我详细简单的源码吧,我用playsound()结果发现不是作为背景的,55555号郁闷

加个SND_LOOP循环就可以了呀!

假如你想在背景乐前还有其他很多音乐的话,建议你使用VFW,方便简单

可以同时播放N多音乐,下面时以前写的一个mp3播放器的,见笑呵呵!
支持wav,mid,mp3,wma等音频格式,如果音乐播放的时候继续打开,前面的音乐不会听掉,而是叠加在一起,实现你的背景音乐,MCIWnd开头的就是VFW的函数,使用很简单,估计你一看函数名就知道作用了!

void CMiniMp3Dlg::OnBtn1() //打开
{
// TODO: Add your control notification handler code here

m_Audio = NULL;
if(m_Audio == NULL)
{
CFileDialog mp3(TRUE,NULL,NULL,OFN_HIDEREADONLY,"MP3 WMA Files (*.mp3 *.WMA)|*.mp3;*.wma|");
if(mp3.DoModal() == IDOK)
{
m_Path = mp3.GetPathName();
m_Audio = MCIWndCreate(this->GetSafeHwnd(),
AfxGetInstanceHandle(),
WS_CHILD|MCIWNDF_NOMENU,m_Path);
long snd =MCIWndGetLength(m_Audio);//得到文件长度
m_sInfo=TimeFormat(snd);
//m_sInfo.Format("%d",snd);
UpdateData(FALSE);
m_cSliderMusic.SetRangeMin(0);
m_cSliderMusic.SetRangeMax(snd/1000);
}
}
}

void CMiniMp3Dlg::OnBtn2() //播放
{
// TODO: Add your control notification handler code here

MCIWndHome(m_Audio);
MCIWndPlay(m_Audio);
SetTimer(0,1000,NULL);
nP=0;
}

void CMiniMp3Dlg::OnBtn3() //暂停,恢复
{
//long snd =MCIWndGetPosition(m_Audio);
//m_sInfo=TimeFormat(snd);

if (GetMode(m_Audio)==1)
MCIWndPause(m_Audio);
else
if (GetMode(m_Audio)==2)
MCIWndResume(m_Audio);

}

void CMiniMp3Dlg::OnOK() //销毁
{
// TODO: Add extra validation here
MCIWndDestroy(m_Audio);
CDialog::OnOK();
}

void CMiniMp3Dlg::OnBtn4() //停止
{
// TODO: Add your control notification handler code here
MCIWndStop(m_Audio);
}