基于MFC多媒体播放器

大连理工大学软件学院本科生课程设计报告

再在对话框中右击,选择插入ActiveX控件,选择Windows

Media Player,之后在对话框中可以看到一个视频控件。右击,选择属性,在控制中将选择模式改为None,在视频控件中也就看不到一开就有的按键了。再次右击视频控件,选择建立类向导。点击Member Variables,选择视频控件的ID(默认为ID_OCX1), 点击Add Variables。此时会弹出一个对话框。

点击确定后,弹出Comfirm Class对话框后,点击OK。此时可以看到建立了很多个类。之后为添加成员变量。Name为m_play

,Category为Control,Variable Type为CWMPPlayer4.点击确定之后可以看到下面的效果。

2.控件与函数

声明全局变量CString playname,用于记录播放地址;int ntype用于记录播放的类型;int num1,num2,num1用于记录播放的地址在播放列表中的位置,num2用于记录播放列表中总的播放地址。构建成员函数void player::Onplay(CString pname,int n,int m,int t) {playname=pname; num1=n;num2=m;ntype=t;}

将前台所选择播放的信息通过函数传递给播放器对话框中 在对话框中放上以下几个控件。

–4–

大连理工大学软件学院本科生课程设计报告

控件 Push Button ID ID_bofang 标题 播放 控件 Push Button ID ID_zanting 标题 暂停 Push Button ID_tingzhi 停止 Push Button ID_qianjing 前进 Push Button ID_houtui 后退 Push Button ID_shangyiqu 上一曲 Push Button ID_xiayiqu 下一曲 Push Button ID_yinjia + Push Button ID_yinjiang - Push Button ID_jingyin 静音 Push Button ID_quanping 全屏 Group Box IDC_static 播放模式 Group Box IDC_yinliangkongzhi 音量控Radio Button 制 IDC_XUNHUAN 循环 Radio Button IDC_shunxu 顺序 Radio Button IDC_suiji 随机 –5–

大连理工大学软件学院本科生课程设计报告

Text IDC_static 时间进Text ID_time Static 度 Text IDC_volume Static 滑块 IDC_SLIDER 1 控件排列如下

–6–

大连理工大学软件学院本科生课程设计报告

添加全局变量int hour, minute, second;

右击对话框,建立类向导,在Messages中选择WM_INITDIALOG,点击ADD Function,再点击Edit Code在BOOL player::OnInitDialog()函数中写入 hour=0;

minute=0; second=0;

UpdateData(true);

m_time.Format(\ UpdateData(false); 让时间进度一开始为0;

同样的方法添加成员函数void player::OnTimer(UINT nIDEvent) 让时间进度能随着播放的音视频的进度而走。 添加成员函数

void player::OnDestroy() {

KillTimer(0);

CDialog::OnDestroy();

// TODO: Add your message handler code here }在退出播放器对话框时,让计数器停止。

添加全局变量BOOL qian=false;若qian为true时,表示点击了前进或后退,此时点击播放时,继续播放。双击播放,点击确定, 添加以下成员函数

void player::Onbofang() { if(!qian) {

m_play.SetUrl(playname); KillTimer(0);

hour=minute=second=0; UpdateData(true);

m_time.Format(\ UpdateData(false); SetTimer(0,500,NULL); } else {

–7–

联系客服:779662525#qq.com(#替换为@)