MFC视频播放器项目实训论文

上传人:ji****72 文档编号:27027455 上传时间:2018-01-05 格式:DOCX 页数:17 大小:353.31KB
返回 下载 相关 举报
MFC视频播放器项目实训论文_第1页
第1页 / 共17页
MFC视频播放器项目实训论文_第2页
第2页 / 共17页
MFC视频播放器项目实训论文_第3页
第3页 / 共17页
MFC视频播放器项目实训论文_第4页
第4页 / 共17页
MFC视频播放器项目实训论文_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《MFC视频播放器项目实训论文》由会员分享,可在线阅读,更多相关《MFC视频播放器项目实训论文(17页珍藏版)》请在金锄头文库上搜索。

1、MFC 视频播放器项目开发实训项目名称:基于 MFC 的视频播放器 学院: 专业班级: 姓名: 学号: 指导老师: 2015 年 1 月 7 日基于 MFC 的视频播放器一、基本功能描述 媒体播放器,又称媒体播放机,通常是指电脑中用来播放多媒体的应用软件,例如 Windows Media Player 等。它可以播放 MP3、AVI、MPEG、WMV 等多种视频音频媒体文件的播放,有的比较高级的甚至还可以对媒体文件进行简单的编辑。由于 Windows 一直都把 Windows Media Player 称作媒体播放器,所以媒体播放器在电脑用户中成了 Windows Media Player 的

2、代名词。对于众多的使用群体来说,很难使一款软件来满足大家的要求,有的人也开始自己动手开发媒体播放器。 基于 MFC 应用程序的数据类型转换软件,个人觉得这个程序很实用,可以实现人们对视听的享受,程序主要是根据编码进行统计,这在以后的程序开发中经常要用到,对于我们日常的生活学习也有很大的作。二、实验目的用 VC6.0 自带的一个 ActiveX 控件,来建立自己的多媒体播放器。本实验将利用 Visual C+6.0 设计一个可以播放*.mp3,*.wma,*.mdi,*.wav,*.avi,*.dat 等文件的媒体播放器。(1)MFC 的实现通过 MFC 窗口以及函数的使用,创建出播放器的主界面

3、,主界面应包括文件的打开、添加、播放以及线程按键。另外,还要各种函数应该实现相应组件上的各种事件。(2)文件读写操作的实现通过以前的学过的文件读写操作知识,实现对音乐文件的读以及写操作,使用读写操作函数时应该注意 C 语言与 MFC 语法的相似性以及相异性。(3)动态数据连接库的实现当删除列表中的某一歌曲或者清空列表时,调用原有的数据连接库,从而实现动态链接库的使用。(4)线程的实现通过计时器线程 Timer 类,定时监视界面,并在规定的时间内自动关闭程序,达到定时关闭的目的三、实验工具Visual C+6.0 是 Microsoft 公司在 1998 年推出的基于 Windows 9X 和W

4、indows NT 的优秀集成开发环境。该环境为用户提供了良好的可视化编程环境,程序员可以利用该开发环境轻松地访问 C+源代码编辑器,资源编辑器和使用内部调试器,并且可以创建项目文件。MFC(Microsoft Foundation Class)是用来编写 Windows 应用程序的 C+类集,其中封装了大部分 WindowsAPI 函数和 Windows 控件,使用 MFC 类库和Visual C+提供的高度可视的应用程序开发工具 ,可使应用程序开发变得简单,提高代码的可靠性和可重用性。四、多媒体播放器功能MFC 视频播放器播放列表播放Play退出(X)添加影音保存列表五、设计过程1.建立

5、MFC 工程文件2.设计播放器界面如图3.设置播放列表的大小响应的函数如下所示:void CMFCDlg:Onlist() flag=!flag;if(!flag)SetWindowPos(NULL,0,0,540,380,SWP_NOMOVE);elseSetWindowPos(NULL,0,0,715,380,SWP_NOMOVE); / TODO: Add your control notification handler code here运行结果如下图:4.设置播放媒体的格式响应的函数如下所示:void CMFCDlg:Onadd() char szFileFilter=媒体文件(*

6、.mp4*.avi,*.mp3,*.wma)|*.mp4;*.avi;*.mp3;*.wma|;CFileDialog dlg(true,NULL,NULL,OFN_HIDEREADONLY|OFN_NOCHANGEDIR|OFN_ALLOWMULTISELECT,szFileFilter);POSITION pos=dlg.GetStartPosition();if(dlg.DoModal()=IDOK) while(pos!=NULL) m_pathname=dlg.GetNextPathName(pos);m_list.AddString(m_pathname);运行结果如下图:5.设置

7、添加影音(添加影音中添加文件)响应的函数如下所示:void CMFCDlg:Onadd() char szFileFilter=媒体文件(*.mp4*.avi,*.mp3,*.wma)|*.mp4;*.avi;*.mp3;*.wma|;CFileDialog dlg(true,NULL,NULL,OFN_HIDEREADONLY|OFN_NOCHANGEDIR|OFN_ALLOWMULTISELECT,szFileFilter);POSITION pos=dlg.GetStartPosition();if(dlg.DoModal()=IDOK) while(pos!=NULL) m_pathn

8、ame=dlg.GetNextPathName(pos);m_list.AddString(m_pathname);void CMFC00Dlg:OnDblclkList1() CString str;int index=m_list.GetCurSel();m_list.GetText(index,str);m_player.SetUrl(str);m_pathname=str;SetTimer(1,1000,NULL);6.影音播放与保存文件的实现响应的函数如下所示:void CMFC00Dlg:Onplay() m_player.SetUrl(m_pathname);SetTimer(1

9、,1000,NULL);void CMFC00Dlg:Onsave() CStdioFile file;file.Open(.list.txt,CFile:modeCreate|CFile:modeReadWrite|CFile:typeText);for(int i=0;iLoadIcon(IDI_ICON1);void CMFCDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CMFCDlg)DDX_Control(pDX, IDC_LIST1, m_list);DDX_Contr

10、ol(pDX, IDC_OCX1, m_player);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CMFCDlg, CDialog)/AFX_MSG_MAP(CMFCDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_list, Onlist)ON_BN_CLICKED(IDC_add, Onadd)ON_LBN_DBLCLK(IDC_LIST1, OnDblclkList1)ON_BN_CLICKED(IDC_save, Onsave)ON_BN_CLICKED(IDC_pla

11、y, Onplay)ON_BN_CLICKED(IDC_exit, Onexit)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMFCDlg message handlersBOOL CMFCDlg:OnInitDialog()CDialog:OnInitDialog();/ Add About. menu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);

12、pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ Set the icon for this dialog. The framework does this automatically/ when the applications main window is not a dialogSetIcon(m_hIcon, TRUE); / Set big iconSetIcon(m_hIcon, FALSE); / Set small iconSetWindowPos(NULL,0,0,540,380,SWP_NOMOVE);

13、m_list.SetHorizontalExtent(1000);/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a controlvoid CMFCDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();elseCDialog:OnSysCommand(nID, lParam);/ If yo

14、u add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is automatically done for you by the framework.void CMFCDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERA

15、SEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();/ The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CMFCDlg:OnQueryDra

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号