编辑: 达达恰西瓜 2015-01-31

if(CurrentPos==0&&isRepeat)//如果当前是文件的起始位置而且为重复播放状态 m_ActiveMovie.Run();

CDialog::OnTimer(nIDEvent);

} 5. 为使播放器具有重复播放功能,需在头文件MediaPlayerDlg.h 加入控制变量BOOL isRepeat;

类型可为Private. 同时修改OnInitDialog()函数: BOOL CMediaPlayerDlg::OnInitDialog() { CDialog::OnInitDialog();

isRepeat=FALSE;

…… } 6. 这样此播放器就具有一般的媒体播放功能了,但为了有更好的用户界面,我们给播放器加上皮肤.我们使用现在比较流行的Skin++ for VC++6.0作为皮肤控件给我们的播放器加上漂亮的皮肤. (1)复制 SkinPPWTL.h、SkinPPWTL.dll、SkinPPWTL.lib 以及 Chinablue.ssk 皮肤到程序源码下. (2)在MFC 下:Project->Setting->Link->Object/library modules 处添加 SkinPPWTL.lib (左侧设置要选择"所有配置"). (3)点击菜单:Project->Add to Project->File 打开 SkinPPWTL.h 文件. (4)在StdAfx.h 中添加头文件:#include "SkinPPWTL.h" (5)在MediaPlayerDlg.cpp类中的OnInitDialog()中加上skinppLoadSkin(_T("Chinablue.ssk"));

7.为了使界面更加美观,还要设置MediaPlayer对话框的样式,取消"系统菜单"的显示: 8. 全部完成,现在编译、连接并运行看看效果,打开个mp3文件试听一下,效果不错! 9. 总结: 这个播放器主要使用了ActiveX控件――ActiveMovieControl?Object作为播放核心,界面简单的采用了若干按钮来控制播放. 再添加该控件时发现控件本身带有视频窗口,加大控件大小后就可以直接带有视频播放窗口了.进过测试完全可以播放更多的视频,于是修改OnOpen函数: void CAbcDlg::OnOpen() { char szFileFilter[]= "所有支持类型|*.mp3;

*.wma;

*.dat;

*.wav;

*.avi;

*.mov;

*.rmvb;

*.mmm;

*.mid;

*.rmi;

*.mpeg|" "Mp3 File(*.mp3)|*.mp3|" "Wma File(*.wma)|*.wma|" "Video File(*.dat)|*.dat|" "Wave File(*.wav)|*.wav|" "AVI File(*.avi)|*.avi|" "Movie File(*.mov)|*.mov|" "Rmvb File(*.rmvb)|*.rmvb|" "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);

} }

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题