- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC下自制多媒体播放器.
自制多媒体播放器
使用VC的AppWizard、ClassWizard和其中的各种控件可以方便地建立应用程序。VC++6.0自带的一个ActiveX控件ActiveMovieControl Object,来建立自己的多媒体播放器。此多媒体具有一般的播放功能,能播放*.mp3,*.wma,*.mdi,*.wav,*.avi,*.dat等文件,还有Repeat功能。具体步骤:1. 打开VC6.0,在Projects下选择MFC AppWizard(exe),并取名MediaPlayer,然后建立基于对话框的程序。2. 打开Resource View,选择其中的对话框,打开其中的主对话框,去掉对话框上的“确定”按钮,保留“取消”,将Caption改为“”。然后再在上面加上九个按钮,ID和Caption分别为
IDC_OPEN,;
IDC_PLAY,;
IDC_PAUSE,;
IDC_STOP,;
IDC_CLOSE,;
IDC_LOWER,=;
IDC_UPPER,=;
IDC_FULLSCREEN,;
IDC_REPEAT,重复;
再加入两个静态文本控件,分别为IDC_STATIC,音量;
IDC_STATIC2,状态:正常。3. 打开Projects-Add to Project-Components and Controls-Registered ActiveX Controls对话框,选择其中的ActiveMovieControl Object, Insert,OK之后,会发现控件面板上多了一项ActiveMovieControl Object将它选中,直接放在对话框上按Ctrl+W打开ClassWizard为它添加变量m_ActiveMovie。各控件的布局如图:
4.为程序添加消息处理函数。打开ClassWizard,为各个按钮加入消息处理函数。在MediaPlayerDlg.cpp文件里为各消息处理函数添加代码,各代码如下:void CMediaPlayerDlg::OnClose()
{
m_ActiveMovie.CloseWindow();//关闭窗口
}void CMediaPlayerDlg::OnOpen()
{
char szFileFilter[]=
Mp3 File(*.mp3)|*.mp3|
Wma File(*.wma)|*.wma|
Video File(*.dat)|*.dat|
Wave File(*.wav)|*.wav|
AVI File(*.avi)|*.avi|
Movie File(*.mov)|*.mov|
Media File(*.mmm)|*.mmm|
Mid File(*.mid;*,rmi)|*.mid;*.rmi|
MPEG File(*.mpeg)|*.mpeg|
All File(*.*)|*.*||;//文件类型过滤
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);
if(dlg.DoModal()==IDOK){
CString PathName=dlg.GetPathName();
PathName.MakeUpper();
m_ActiveMovie.SetFileName(PathName);
}
}
void CMediaPlayerDlg::OnPlay()
{
m_ActiveMovie.Run();//播放文件
SetTimer(0,20,NULL);//设置定时器
}
void CMediaPlayerDlg::OnStop()
{
m_ActiveMovie.Stop();//停止播放文件
KillTimer(0);//关掉定时器
}
void CMediaPlayerDlg::OnPause()
{
m_ActiveMovie.Pause();//暂停播放
}
void CMediaPlayerDlg::OnUpper()//增加音量
{
long Volume=m_ActiveMovie.GetVolume();
m_ActiveMovie.Pause();
m_ActiveMovie.SetVolume(Volume+100);
m_ActiveMovie.Run();
}
void CMediaPlayerDlg::OnLower()//减少音量
{
long Volume=m_ActiveMovie.GetVolume();
m_ActiveMovie.Pause();
m_ActiveMovie.SetV
文档评论(0)