MFC_windows media player控件的使用(VS2013 )
来源:互联网 发布:交通意外事故数据 编辑:程序博客网 时间:2024/06/10 20:28
声明:
参考博客:
http://blog.csdn.net/akof1314/article/details/4900040
http://blog.csdn.net/akof1314/article/details/4900244
http://blog.csdn.net/akof1314/article/details/4939553
下面,将具体介绍完整的流程:
一、新建一个基于对话框的MFC项目
二、在对话框上,右键 ->”插入ActiveX控件” -> “Windows Media Player” ->完成。
(若没有,则选择 “toolbox”-> “choose items” -> “COM Components” -> “windows media player” ->打勾)
三、添加类
“项目”->“添加类”-> “ActiveX控件中的MFC类”->“添加”
然后,发现找不到Windows Media Player这个控件,解决办法:
(*注意检查CWMPPlayer4这个类是派生自CWnd,否则会出现错误。)
添加好CWMPPlayer4之后,按照同样的方法再添加其他的类,出现错误:
解决办法:
四、下面就开始修改代码了:
首先,声明控件变量
然后,关联控件与变量
最后,
m_player.put_URL(_T("文件路径"));//大功告成。
五、若要对控件进行控制,即可采用相同的方法,这里就贴上参考的博客上的代码:
// TestDlg.h : 头文件 // #pragma once #include "afxwin.h" #include "CWMPPlayer4.h" //播放头文件 #include "CWMPControls.h" //控制头文件 #include "CWMPSettings.h" //设置头文件 #include "CWMPMedia.h" //媒体头文件 #include "afxcmn.h" // CTestDlg 对话框 class CTestDlg : public CDialog { // ······在这里省略 public: CWMPPlayer4 m_Player; //播放地址关联 CWMPControls m_control; //控制按钮关联 CWMPSettings m_setting; //设置按钮关联 CWMPMedia m_media; //媒体 CProgressCtrl m_progress; //进度条 };
// TestDlg.cpp : 实现文件void CTestDlg::DoDataExchange(CDataExchange* pDX){ CTestDlg::DoDataExchange(pDX); //********************************************** DDX_Control(pDX, IDC_OCX1, m_Player); DDX_Control(pDX, IDC_PROGRESS1, m_progress);}BOOL CTestDlg::OnInitDialog(){ //·········省略 m_control=static_cast<CWMPControls>(m_Player.get_controls()); m_setting=m_Player.get_settings(); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE}void CTestDlg::OnBnClickedButton1(){ m_control.play(); //播放}void CTestDlg::OnBnClickedButton6(){ CString fileName; CFileDialog fileDialog( TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,_T("音频、视频文件(*.*)|*.*||"),this); if (fileDialog.DoModal() == IDOK) { fileName=fileDialog.GetPathName(); m_Player.put_URL(fileName); //打开播放 } m_media=static_cast<CWMPMedia>(m_Player.newMedia(fileName)); m_progress.SetRange(0,(int)m_media.get_duration()); //媒体总长度 m_progress.SetPos(0); }void CTestDlg::OnBnClickedButton2(){ m_control.pause(); //暂停}void CTestDlg::OnBnClickedButton3(){ m_control.stop(); //停止}void CTestDlg::OnBnClickedButton4(){ m_control.fastForward(); //快进}void CTestDlg::OnBnClickedButton5(){ m_control.fastReverse(); //快退}void CTestDlg::OnBnClickedButton7(){ m_Player.put_fullScreen(1); //全屏}void CTestDlg::OnBnClickedButton8(){ m_setting.put_volume(m_setting.get_volume()-10); //音量减少}void CTestDlg::OnBnClickedButton9(){ m_setting.put_volume(m_setting.get_volume()+10); //音量增加}void CTestDlg::PlayStateChangeOcx1(long NewState){ if (NewState==3) //播放状态时, 开启定时器 SetTimer(1,1000,NULL); else if (NewState==1) //停止时, 关闭定时器, 进度条回0 { m_progress.SetPos(0); KillTimer(1); } else KillTimer(1);}void CTestDlg::OnTimer(UINT_PTR nIDEvent){ // TODO: 在此添加消息处理程序代码和/或调用默认值 if (nIDEvent != 1) return; m_progress.SetPos(m_progress.GetPos()+1); CDialog::OnTimer(nIDEvent);}
0 0
- MFC_windows media player控件的使用(VS2013 )
- Media Player控件使用
- Media Player控件使用
- Windows Media Player控件的使用和使用心得
- VS2003下windows media player 控件的使用问题
- VS2003下windows media player 控件的使用问题
- VC2008 Windows Media Player控件的使用技巧
- VC2008 Windows Media Player控件的使用技巧(二)
- VC2008 Windows Media Player控件的使用技巧(三)
- VS 2008 Windows Media Player控件的使用技巧
- VC2008 Windows Media Player控件的使用技巧
- VC2008 Windows Media Player控件的使用技巧(二)
- VC2008 Windows Media Player控件的使用技巧(三)
- VC2008 Windows Media Player控件的使用技巧(三)
- VC2008 Windows Media Player控件的使用技巧
- VC2008 Windows Media Player控件的使用技巧
- VC2008 Windows Media Player控件的使用技巧(二)
- VC2008 Windows Media Player控件的使用技巧(三)
- Spring MVC中AOP无效、不起作用,解决方案之一
- 使用Spring进行切面(AOP)编程
- 10分钟精通SharePoint-搜索
- 杭电 hdu 2073. 无限的路
- SQL高级语句-SQL 通配符-在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
- MFC_windows media player控件的使用(VS2013 )
- maven(十)-继承
- 【codeforces 777A】Shell Game
- 报错:invalid bound statement(not found)
- 区块链
- windows 全屏打开一个窗口
- 喝热水容易致癌吗?戳进来get真相
- 在oj中Python的循环输入问题解决
- MyEclipse的基本设置