今天用c++代码编写一个音乐播放器。这是基于MFC绘制一个图形窗口 ,并添加相应的Button按键作为功能按键,添加Slider Control滑动控件作为音量控制。
效果如下:
void C音乐播放器Dlg::OnBnClickedOpen()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog dlg(TRUE);
dlg.DoModal();
//获取选择的文件的路径
CString strmusicPath = dlg.GetPathName();
//1. 关闭上一个音乐
//多媒体设备接口(MCI)
mciSendCommand(m_DeviceID, MCI_CLOSE, 0, 0);
//2. 打开音乐文件
MCI_OPEN_PARMS mciopenparms;
mciopenparms.lpstrElementName = strmusicPath;
MCIERROR mciError;
mciError = mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT | MCI_WAIT, (DWORD)&mciopenparms);
if (mciError)//mciError为真时,说明打开失败
{
wchar_t szErrorMsg[256];
mciGetErrorString(mciError, szErrorMsg, 256);//获取错误信息
AfxMessageBox(szErrorMsg);//弹出错误信息
return;
}
m_DeviceID = mciopenparms.wDeviceID;//
}
这是选择多媒体音乐文件的按钮,点击之后从文件路径中选择打开相应的音乐。
////播放
void C音乐播放器Dlg::OnBnClickedPlay()
{
// TODO: 在此添加控件通知处理程序代码
MCI_PLAY_PARMS mcipalyparms;
mcipalyparms.dwCallback = NULL;
mcipalyparms.dwFrom = 0;//从头开始播放
mciSendCommand(m_DeviceID, MCI_PLAY, MCI_FROM | MCI_NOTIFY, (DWORD)&mcipalyparms);
}
这是点击了开始播放按钮,它响应的动作是从头开始播放。
void C音乐播放器Dlg::OnBnClickedPause()
{
// TODO: 在此添加控件通知处理程序代码
CString str;
GetDlgItemText(IDC_PAUSE, str);
if (str == L"暂停")
{
mciSendCommand(m_DeviceID, MCI_PAUSE, 0, 0);
SetDlgItemText(IDC_PAUSE, L"继续");
}
else if (str == L"继续")
{
mciSendCommand(m_DeviceID, MCI_RESUME, 0, 0);
SetDlgItemText(IDC_PAUSE, L"暂停");
}
}
这是暂停和继续播放按钮的响应。
void C音乐播放器Dlg::OnBnClickedStop()
{
// TODO: 在此添加控件通知处理程序代码
mciSendCommand(m_DeviceID, MCI_STOP, 0, 0);
mciSendCommand(m_DeviceID, MCI_CLOSE, 0, 0);
}
最后这是停止播放按钮的响应。
作者:啦啦啦1646846
链接:https://juejin.cn/post/7012794838777069599
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文始发于微信公众号(汇编语言):c++编写音乐播放器
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论