青铜锛市场价格:读C++程序

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/14 11:48:10
有一个c++的MP3源代码,帮忙读一下。
要求详细给出开发原理。详细……
代码下载地址:http://pickup.mofile.com/cn/index.do
下载时请输入提取码:4224194783838996

你应该看了代码,并运行过这个程序。
整个程序很简单,就5个按钮其中一个是退出按钮。
其余分别是 打开文件,放音,暂停,和停止按钮。
这几个按钮里关键是放音。
下面解释如下:

void CMp3PlayerDlg::OnOpen() //响应打开文件按钮
{
m_Audio = NULL;
if(m_Audio == NULL)
{
CFileDialog mp3(TRUE,NULL,NULL,OFN_HIDEREADONLY,"MP3 Files (*.mp3)|*.mp3|");
//建立打开文件对话框
if(mp3.DoModal() == IDOK)//显示打开文件对话框
{//如果对话框返回IDOK,也就是按了打开按钮
m_Path = mp3.GetPathName();//取得文件名
UpdateData(FALSE);//更新数据

}
}
}

void CMp3PlayerDlg::OnPlay() //响应play(播放)按钮
{
m_Audio = NULL;

if(m_Audio == NULL)
{
m_Audio = MCIWndCreate(this->GetSafeHwnd(),
AfxGetInstanceHandle(),
WS_CHILD | WS_VISIBLE|MCIWNDF_NOMENU,m_Path);

//这个MCIWndCreate是整个程序的核心,它是一个播放音频文件的一个类,有系统提供,我们调用即可
m_Status.SetWindowText(_T("Playing..."));//设置Cstatic的标题为“Playing...”
}
else
{
MCIWndHome(m_Audio);
}

MCIWndPlay(m_Audio);//播放
Pause = FALSE;
m_Play.EnableWindow(TRUE);
}

void CMp3PlayerDlg::OnStop() //响应stop(停止)按钮
{
MCIWndStop(m_Audio);
if(m_Audio !=NULL)
{
MCIWndDestroy(m_Audio);//销毁播放器类
m_Status.SetWindowText(_T("Selection Stoped"));
}
m_Play.EnableWindow(TRUE);

}

void CMp3PlayerDlg::OnPause() //响应pause(暂停)按钮
{
if(Pause)//如果当前状态时暂停
{
m_Pause.SetWindowText("Pause");
MCIWndResume(m_Audio);//继续播放
Pause = FALSE;
m_Status.SetWindowText(_T("Selection Paused"));
}
else//否则
{
m_Pause.SetWindowText("Pause");
MCIWndPause(m_Audio);//暂停
Pause = TRUE;
}

}
我想你很容易照猫画虎的。