云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 多媒体播放器设计

多媒体播放器设计

  • 62 次阅读
  • 3 次下载
  • 2025/6/13 21:33:31

函数名 Bool CDXGraph::Create(void) Bool CDXGraph::QueryInterfaces(void) 函数功能 生成滤波器链表管理器 查询各类接口 Bool CDXGraph::RenderFile(TCHAR * 剖析媒体文件 inFile) Bool CDXGraph::SetDisplayWindow(HWND 设置显示窗口 inWindow) Bool CDXGraph::SetNotifyWindow(HWND 设置窗口消息通知 inWindow) Bool CDXGraph::Run(void) Bool CDXGraph::Stop(void) Bool CDXGraph::Pause(void) 播放视频 停止播放 暂停播放 Bool CDXGraph::GetDuration(double * 获取播放时间长度 outDuration) Bool CDXGraph::GetCurrentPosition(double * 获取当前播放位置 outPosition) Bool CDXGraph::SetCurrentPosition(double 设置当前播放位置 inPosition) Bool CDXGraph::SetPlaybackRate(double 设置播放速率 inRate) Bool CDXGraph::GetStopPosition(double 获取视频的结束位置 *outPosition) Bool CDXGraph::SetStartStopPosition(double 设置视频开始结束位置 inStart,double inStop) Bool CDXGraph::Mute( ) Bool CDXGraph::UnMute( ) 静音模式 非静音模式 Bool CDXGraph::SetFullScreen(BOOL 设置全屏 inEnabled) Bool CDXGraph::SnapshotBitmap(TCHAR 抓图保存 *outFIle) 表1:CDGraph类中的主要函数及其作用

3.4模块实现函数说明

实现模块功能的具体函数则均属于CMediaPlayer类,它是本设计中两个重要的类中的另外一个,它是在建立MediaPlayer工程时由MFC建立的一个对话框的类,在该对话框上进行的操作函数即可实现程序所需要的所有功能,其实现函数则是调用CDXGraph类的相关函数,从而完成各项具体功能。各个模块的具体实现函数描述如表2:

9

模块名称 打开模块 播放模块 暂停模块 停止模块 实现函数 void CMediaPlayerDlg::OnBnClickedButtonOpen() void CMediaPlayerDlg::OnBnClickedButtonPlay() void CMediaPlayerDlg::OnBnClickedButtonPause() void CMediaPlayerDlg::OnBnClickedButtonStop() 抓图模块 void CMediaPlayerDlg::OnBnClickedButtonGrasp() 退出模块 void CMediaPlayerDlg::OnBnClickedButtonExit() 拖拽模块 void CMediaPlayerDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 菜单模块 void CMediaPlayerDlg::OnMenuOpenfile() void CMediaPlayerDlg::OnMenuHalfrate() void CMediaPlayerDlg::OnMenuNormalrate() void CMediaPlayerDlg::OnMenuDoublerate() void CMediaPlayerDlg::OnMenuFullscreen() void CMediaPlayerDlg::OnMenuAlwaysontop() void CMediaPlayerDlg::OnMenuMute() void CMediaPlayerDlg::OnMenuClosefile() void CMediaPlayerDlg::OnMenuPlay() void CMediaPlayerDlg::OnMenuStop() void CMediaPlayerDlg::OnMenuGrabimage() void CMediaPlayerDlg::OnMenuExit() 表2:各个模块及其实现函数

3.5主要变量声明

程序中用到得主要控件有:6个按钮控件,一个图像控件,两个进度条控件。 控件名称 IDC_BUTTON_OPEN 变量类型 CButton 变量名 m_Open 打开 说明 10

IDC_BUTTON_PLAY IDC_BUTTON_PAUSE IDC_BUTTON_STOP IDC_BUTTON_GRASP IDC_BUTTO_EXIT IDC_SLIDER_PLAY CButton CButton CButton CButton CButton CSliderCtrl m_Play m_Pause m_Stop m_Grap m_Exit m_sliderPlayer m_siderVolume m_videoWindow 播放 暂停 停止 抓图 退出 视频进度条 音量进度条 图像控件 IDC_SLIDER_VOLUME CSliderCtrl IDC_VIDEO_WINDOW CStatic 表3:程序中的主要变量

3.6设计多媒体播放器的界面 播放器主界面设计如图5:

图5:播放器主界面

3.7播放器模块设计

为界面添加Picture Control图像控件,两个进度条控件以及打开、播放、

11

暂停、停止、抓图、退出等按钮控件。

下面对各个模块的实现函数及其代码做简要分析:

(1)单击播放器界面中的“打开”按钮,即可打开要播放的媒体文件。在下述代码中,将以只读方式打开要播放的文件,并且过滤了流媒体文件的格式,获取了媒体的路径和文件名。

void CMediaPlayerDlg::OnBnClickedButtonOpen() {

CString strFilter = _T(\VI File (*.avi) | *.avi|\

strFilter += \ strFilter += \ strFilter += \

strFilter += \ //编辑下拉选项框 CFileDialog

dlg(TRUE,NULL,NULL,OFN_PATHMUSTEXIST|OFN_HIDEREADONLY, strFilter, this); //设置打开文件对话框

if (dlg.DoModal() == IDOK)//当用户打开文件时,做以下行为 { } }

(2)单击“播放”按钮后,开始选择播放的媒体文件。同时在标题栏中显示播放速率和媒体文件名,具体代码如下:

void CMediaPlayerDlg::OnBnClickedButtonPlay() {

if (m_pFilterGraph) //如果CDXGraph对象已创建成功,则执行以下代码 {

SetWindowText(_T(\倍速播放 \设置窗口标题m_pFilterGraph->Run(); //播放视频文件

m_pFilterGraph->ChangeAudioVolume(m_volume); //改变音量 栏文本内容

CreateGraph();创建链表,连接滤波器

m_sourceFile = dlg.GetPathName();//获取文件所在的路径名

m_mediaFileName =GetFileTitleFromFileName(m_sourceFile,1);//获取

文件名称

12

搜索更多关于: 多媒体播放器设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

函数名 Bool CDXGraph::Create(void) Bool CDXGraph::QueryInterfaces(void) 函数功能 生成滤波器链表管理器 查询各类接口 Bool CDXGraph::RenderFile(TCHAR * 剖析媒体文件 inFile) Bool CDXGraph::SetDisplayWindow(HWND 设置显示窗口 inWindow) Bool CDXGraph::SetNotifyWindow(HWND 设置窗口消息通知 inWindow) Bool CDXGraph::Run(void) Bool CDXGraph::Stop(void) Bool CDXGraph::Pause(void) 播放视频 停止播放 暂停播放 Bool CDXGraph::GetDuration(doubl

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com