多媒体播放器 课程设计报告
多媒体播放器的设计与实现报告

《多媒体技术》课程论文题目:基于MFC的多媒体播放器的设计与实现专业:班级:姓名:学号:指导老师:摘要:本程序是基于MFC集成开发环境,利用ActiveMovie控件实现媒体播放的功能的多媒体播放器。
具有打开文件、播放、暂停、全屏、音量调节、静音、快进、快退等基本播放功能。
系统开发平台为Windows 7操作系统,程序设计环境采用Visual C++ 6.0。
关键字:MFC,ActiveMovie,多媒体1.开发工具及相关知识介绍MFC(MicrosoftFoundationClasses)是微软基础类库的简称,是微软公司实现的一个c++类库,主要封装了大部分的windows API函数,vc++是微软公司开发的c/c++的集成开发环境,所谓集成开发环境,就是说利用它可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。
vc也指它的内部编译器,集成开发环境必须有一个编译器内核,例如DevC++其中一个编译器内核就是gcc。
MFC除了是一个类库以外,还是一个框架,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。
xx是版本,它封装了mfc内核,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率。
一个MFC窗口对象是一个C++ CWnd类(或派生类)的实例,是程序直接创建的。
在程序执行中它随着窗口类构造函数的调用而生成,随着析构函数的调用而消失。
而Windows窗口则是Windows系统的一个内部数据结构的实例,由一个“窗口句柄”标识,Windows系统创建它并给它分配系统资源。
Windows窗口在MFC 窗口对象创建之后,由CWnd类的Create成员函数创建,“窗口句柄”保存在窗口对象的m_hWnd成员变量中。
Windows窗口可以被一个程序销毁,也可以被用户的动作销毁。
(广告传媒)多媒体播放器 课程设计报告

(设计标题)多媒体播放器用户签名:开发成员:孟凡林开发时间:2010—12-23目录0引言 (4)1 工作计划 (4)1.1主要工作阶段划分 (4)1.2工作任务分工 (4)2需求分析 (4)2.1概述 (4)2.2用户分析 (5)2.3 约束条件 (5)2.4功能需求 (5)2.5用户界面需求 (5)3设计与实现 (5)3.1概述 (5)3.2详细设计 (6)3.1.1类的抽象及设计 (6)3.3 主要程序文件 (6)3.4开发环境以及部署环境要求 (7)3.5 主要源码 (7)4 测试 (11)4.1概述 (11)4.2 测试环境 (11)4.3测试计划 (11)4.4测试项目及结果 (11)5、工作总结 (12)5.1工作成果 (12)5.2过程分析 (13)5.3经验教训及其分析 (13)0引言现在人们娱乐的方式多种多样,已经有了很明显的变化,以前的户外运动现在已经在锐减,换而之的是网络游戏与网上聊天,而在同时听听音乐看看电影也成为了巨大的需求,所以很多多媒体播放软件出现了,形形色色各种都有,而我也赶下时髦,体验一下编写的过程,现在才发现这并不难,重要的是插件的插入,而其他的功能实现只需调用相应函数就行了!1 工作计划1.1主要工作阶段划分(用表格或图表的形式列出你们小组各个阶段的时间进度大致安排)1.2工作任务分工2需求分析2.1概述1)到网上或图书馆查找相关系统函数实现相应的功能;2)使用MFC构建相应的用户界面2.2用户分析1)要求有稳定的性能,可实现要求的功能;2)拥有较好的界面,很方便人操作!2.3 约束条件(作为开发人员的,通常你的小组的工作时间和人员是一个明显约束;另外站在用户的角度,他们对你有什么约束要求,请从这两个角度进行陈述。
)2.4功能需求能够打开文件放进播放列表,点击播放键使其播放,暂停键暂停,停止键停止,重播键重新播放,全屏键全屏播放,退出键退出程序,增大键增大音量,减小键减小音量!2.5用户界面需求3设计与实现3.1概述使用MFC构建相应的用户界面,实现相应的功能----------能够打开文件放进播放列表,点击播放键使其播放,暂停键暂停,停止键停止,重播键重新播放,全屏键全屏播放,退出键退出程序,增大键增大音量,减小键减小音量,然后向其中加入各个函数实现相应的功能!3.2详细设计3.1.1类的抽象及设计1)控件active movie3类,主要用来播放各种类型的文件,其封装的各种成员函数使其成为MFC设计播放器必不可少的控件类;2)对话框基类cDlg类,及其派生类:(a)控件repeatbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时再次播放打开的文件;(b)控件copenbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时提供资源管理器供用户选择文件;(c)控件playbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时播放打开的文件;(d)控件pausebtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时暂停播放打开的文件;(e)控件lowerbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时减小播放音量;(f)控件upperbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时增大播放音量(g)控件stopbtn类,作为播放器打开文件的消息响应媒介,能够做到被点击时停止播放打开的文件;(h)控件fullscreen类,作为播放器打开文件的消息响应媒介,能够做到被点击时全屏播放打开的文件;至于其他的,当我们使用MFC编程时,会有很多封装的类供我们使用,所以就不一一列举了!3.3 主要程序文件1)头文件(为类加入相应的标准流,库):Activemovie3.h-------控件;stdafx.h-----框架构成;多媒体.h-----多媒体的应用;多媒体Dlg.h------对话框;resourse.h-----为多媒体.rc服务!2)源文件(完成各种类的定义与实现):Activemovie3.cpp-------控件;stdafx.cpp-----框架构成;多媒体.cpp----多媒体的应用;多媒体Dlg.cpp------对话框;多媒体.rc-----运行过的效果!3.4开发环境以及部署环境要求1)Vs2010;2)3.5 主要源码1)打开文件void CMyDlg::OnOpenButton(){// TODO: Add your control notification handler code hereCString strFilter = "Mp3 File(*.mp3)|*.mp3| ";strFilter += "MPEG File(*.mpg;*.mpeg)|*.mpg;*.mpeg| ";strFilter += "Wave File(*.wav)|*.wav| ";strFilter += "AVI File(*.avi)|*.avi| ";strFilter += "All File(*.*)|*.*| "; //过滤适当的文件必须以0区分,以00结束,否则会出现参数不正确CFileDialog dlgOpen(TRUE,NULL,NULL,OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT,strFilter,this);//为CFileDialog定义对象DWORD MAXFILE = 2412; // 分配足够空间dlgOpen.m_ofn.nMaxFile = MAXFILE; // 设置buffer的大小CString strFileName;char* buf = new char[MAXFILE]; //分配空间dlgOpen.m_ofn.lpstrFile = buf;dlgOpen.m_ofn.lpstrFile[0] = NULL; //赋值if(IDOK == dlgOpen.DoModal()){POSITION pos = dlgOpen.GetStartPosition();while (pos != NULL){strFileName = dlgOpen.GetNextPathName(pos);// 获取独立文件名m_list1.InsertString(m_list1.GetCount(),strFileName);//加至播放列表}}delete [] buf; //释放空间}2)播放文件void CMyDlg::OnPlayButton(){// TODO: Add your control notification handler code here m_ActiveMovie.Run();//播放文件SetTimer(0,20,NULL);//设置定时器}3)暂停播放void CMyDlg::OnPauseButton(){// TODO: Add your control notification handler code here m_ActiveMovie.Pause();}4.停止播放void CMyDlg::OnStopButton(){// TODO: Add your control notification handler code here m_ActiveMovie.Stop();//停止播放文件KillTimer(0);//关掉定时器}5.重复播放void CMyDlg::OnReapetButton(){// TODO: Add your control notification handler code here if(!isRepeat){isRepeat=TRUE;SetDlgItemText(IDC_STATIC2,"Status:Repeat");}else{isRepeat=FALSE;SetDlgItemText(IDC_STATIC2,"Status:Normal");}6.增大声音void CMyDlg::OnUpperButton(){// TODO: Add your control notification handler code here long Volume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume+100);m_ActiveMovie.Run();}7.减小声音void CMyDlg::OnLowerButton(){// TODO: Add your control notification handler code here long Volume=m_ActiveMovie.GetVolume();m_ActiveMovie.Pause();m_ActiveMovie.SetVolume(Volume-100);m_ActiveMovie.Run();}8.全屏播放void CMyDlg::OnFullButton(){// TODO: Add your control notification handler code here m_ActiveMovie.Pause();m_ActiveMovie.SetFullScreenMode(true);m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED);m_ActiveMovie.Run();}9.关闭窗口void CMyDlg::OnCloseButton(){// TODO: Add your control notification handler code here m_ActiveMovie.CloseWindow();²}10.退出void CMyDlg::OnClickedExitButton(){// TODO: Add your control notification handler code here PostQuitMessage(0);//;}4 测试4.1概述1)打开文件(从曲库中找出歌曲加入列表中)2)播放,暂停,停止,全屏显示,停止,重播(active movie实现功能)4.2 测试环境1)2)vs20104.3测试计划1)打开文件2)播放及各种键的使用3)多次运行,检查稳定性4.4测试项目及结果1)打开文件2)5、工作总结5.1工作成果工作成果不是很明显,因为我自作自受,霉运连连让我乱了阵脚,最后的一个大悲剧直接把我将死了!我没有编写出来一个成功的程序,以失败告终!我完了,Oh,myGod!5.2过程分析唉!因为自己眼光不够敏锐,没有选择正确的题目,一开始选择了邮件收发程序,当框架做好以后,开始实现各种功能了,才发现自己并不明白MAPI是怎么一回事,到处查也不是很会用,协议更没搞清楚,而且也不知道应该调用哪个系统函数来实现附件的添加,并且第三步由于协议问题也没头绪,联想到上学期做了好久也没搞出个好程序的经验,我就果断放弃了,改做文件编辑,结果又是因为搞不清怎么调出资源管理器搞的头皮发麻,最后又是悲剧的放弃了,现在一想都后悔啊!意志太不坚定了,就那么个小困难就把我给吓到了,唉!折腾了两天半已经是星期三的下午了,眼看期限快到了,我没办法,急得要命,没办法,这时候想起来老师曾经说过网上的媒体播放器很多,于是就到网上去搜了一个,结果一弄。
多媒体播放器的使用》教学设计

多媒体播放器的使用》教学设计一、案例背景(一)分析1.教材分析:我校初一年级选用的是人民教育出版社出版的三年制、四年制初级中学教科书,在本教材中并没有将媒体播放器作为一节独立的课程来设置,它是在第一单元初步知识与基本操作中,第三课windows的基本操作中,用“计算机听音乐,用计算机看影片”的方式简单介绍了计算机可以听音乐、可以看影片。
2.学情分析:多媒体电脑已经应用到了社会的各个领域,图、文、声、像的有机结合使计算机吸引了无数中学生的眼球,而媒体播放器正是播放视频、音频文件的载体,随便在网上搜一搜,上百种的媒体播放器让人眼花缭乱,无从选择。
而学生对各种媒体信息都非常敏感,处于这个年龄段的孩子更喜欢从网上寻找一些小动画,或是流行歌曲等媒体信息并以此为时尚,以此为一种“炫耀”自己的途径。
而只有通过媒体播放器才可以显示不同的媒体信息,因此,我想让学生了解几种常用媒体播放器的功能及使用方法,以此让他们发现不同的媒体播放器是“各有千秋”,通过两、三种媒体播放器的功能展示,使学生能够举一反三地掌握使用媒体播放器的一些小技巧。
(二)教学目标1.了解几种常用媒体播放器的主要特点及主要应用领域;2.掌握用媒体播放器播放光盘及其它存储设备上的视频及音频文件;3.掌握利用超级解霸截取所需要的视频文件及图像文件。
(三)重难点、问题预测及对策重难点:1.掌握用不同的媒体播放器播放各种媒体文件;2.能用超级解霸截取需要的视频文件及图像文件,并能正确保存。
问题预测:1.大多数学生可能只会打开光盘内的视频或音频文件,而且可能只掌握一种方法,当遇到问题时,不会用另一种方法去解决;2.学生截取视频文件后可能会陶醉在成功的喜悦中,忽略了保存文件的关键步骤,而很多学生可能存在保存后找不到保存文件的具体位置。
对策:1.找多组同学示范用不同的方法成功打开视频文件或音频文件的例子,发挥学生学习的积极性,充分享受当“教师”传授别人知识的乐趣;2.强调截取视频文件的四大关键步骤,教师先示范操作,学生以竞赛的方式看谁先学会并演示示范。
mplayer课程设计

mplayer课程设计一、课程目标知识目标:1. 学生能理解Mplayer多媒体播放器的功能及操作方法。
2. 学生能掌握Mplayer中常用快捷键的使用。
3. 学生了解多媒体文件格式及其特点。
技能目标:1. 学生能够独立安装并配置Mplayer播放器。
2. 学生能够运用Mplayer播放本地及网络多媒体文件。
3. 学生能够解决在使用Mplayer过程中遇到的基本问题。
情感态度价值观目标:1. 培养学生对多媒体技术及开源软件的兴趣,增强信息素养。
2. 培养学生团队协作意识,学会分享和交流。
3. 培养学生遵守网络道德规范,尊重知识产权。
课程性质:本课程为信息技术学科,以实践操作为主,理论讲解为辅。
学生特点:六年级学生对计算机操作有一定的基础,对新鲜事物充满好奇心,善于模仿和探究。
教学要求:注重理论与实践相结合,关注学生个体差异,鼓励学生主动探索,培养学生解决问题的能力。
通过本课程的学习,使学生能够掌握Mplayer多媒体播放器的使用,提高信息技术应用能力。
二、教学内容1. Mplayer播放器简介:介绍Mplayer的基本功能、特点及其在多媒体播放领域的地位。
2. Mplayer安装与配置:讲解如何下载、安装Mplayer,以及基本的配置方法。
- 教材章节:第二章第二节- 内容列举:安装包下载、安装步骤、配置文件编辑3. Mplayer操作方法:教授Mplayer的界面操作、播放控制、快捷键使用等。
- 教材章节:第二章第三节- 内容列举:播放/暂停、快进/快退、音量调节、全屏切换等快捷键操作4. 多媒体文件格式及播放:介绍常见多媒体文件格式,如何使用Mplayer播放不同格式的文件。
- 教材章节:第二章第四节- 内容列举:AVI、MP4、MKV等格式特点及播放方法5. Mplayer进阶应用:探讨如何解决播放问题、优化播放效果等高级应用。
- 教材章节:第二章第五节- 内容列举:字幕加载、画面比例调整、音轨切换等教学内容安排与进度:第一课时:Mplayer播放器简介、安装与配置第二课时:Mplayer基本操作方法第三课时:多媒体文件格式及播放第四课时:Mplayer进阶应用及问题解决三、教学方法针对本课程的教学目标和内容,采用以下教学方法:1. 讲授法:对于Mplayer的基本概念、安装与配置方法、多媒体文件格式等理论知识,采用讲授法进行教学。
基于labview的多媒体播放器及K歌之王课程设计实验报告

测量总线与虚拟仪器期末综合设计报告1、摘要本次所做的虚拟仪器——多媒体播放器,是基于labview控件Windows Media Player,通过labview对其进行功能扩展。
该虚拟仪器具备播放Windows Media Player所支持的所有格式音频或者视频文件,在此基础上利用本机电脑自带的声卡,实现了时下所流行的“K歌”——声音的录制和存储回放。
本多媒体播放器功能完备,虽然程序实现复杂,但是用户界面操作简单,运行稳定。
2、系统总体设计2.1、系统硬件随着技术的不断发展,目前数据采集技术已经日趋成熟,专业的数据采集卡都已经具备完整的数据采集和处理电路,精确度也在不断地提高,但是其市场价格都普遍偏高,而如今具有DSP (数字信号处理)技术的PC声卡的性能已经很高,完全可以成为一个成熟的数据采集系统,可以很好地适应各种不同的场合,并且具有操作简单、价格低廉、通用性强、稳定实用以及驱动程序升级方便等一系列优点。
本系统硬件采用PC机自带的声卡作为声音信号的数据采集卡,它是实现声波与数字信号互相转换的一种硬件,它搭载的 A /D 和 D /A 转换器可以很方便地实现模拟信号和数字信号的相互转换。
由于声卡采用直接内存读取(DMA)方式传送数据,因此能够极大的降低了CPU的占用率,而且其具有 16 位的 A/D 转化精度,比通常 12 位 A/D 卡的精度高,对于许多工程测量和科学实验来说都是足够高的,其价格却比后者便宜得多,完全符合本系统设计要求。
声卡质量评价的标准主要有采样频率、分辨率、复音数量、声道数量、信噪比和总谐波失真等,其主要的参数介绍如下:⑴采样频率:即每秒钟所能采集到的声音样本的数量。
通常情况下标准的采样频率有11.025KHz、22.05KHz、和44.1KHz三种。
还有更高的采样频率可以保证声音的高保真,目前PC机上的声卡可以实现最高96KHz的采样频率,但是这样会占用更多的存储空间。
多媒体播放器设计

多媒体播放器设计
一、引言
现今,随着国家的信息化政策的实施,多媒体技术在我国的许多企业
得到了广泛的应用,使得传统的传统的媒体,如电视、报纸和广播,变得
越来越少。
新兴的多媒体技术使得人们能够以更直观、更丰富的方式了解
和接受信息。
然而,面对多媒体的发展,仍然有一些突出的问题需要解决。
为此,设计一款多媒体播放器来解决这些问题是很有必要的。
二、主要功能
1.多媒体播放器首先可以播放各种格式的多媒体文件,包括MP3、WMA、WMV、AVI、RMV、MOV、MP4、FLV等等,并且支持各种分辨率,从
320×240到1920×1080,或更高。
2.多媒体播放器还可以支持多种输出设备,如大屏幕电视、投影仪、
液晶显示屏等,方便用户将多媒体文件分享给大家。
三、硬件要求
1.多媒体播放器的硬件要求非常高。
(2024年)多媒体课程设计报告

2024/3/26
开发在线测试与评估系统,实时了解 学生的学习情况和掌握程度,为教学
提供有力支持。
虚拟现实技术应用
利用虚拟现实技术,创建虚拟场景和 角色,为学生提供沉浸式的学习体验 。
多媒体教学资源整合
将各种多媒体教学资源进行整合和优 化,构建多元化、立体化的教学资源 体系,提高教学效果和质量。
18
2024/3/26
拓展课程内容
在保证基础知识掌握的前提下,拓展课程内容,增 加一些高级主题和选修内容,满足不同学生的需求 。
鼓励学生创新实践
通过课程设计和实验等环节,鼓励学生进行 创新实践,培养学生的创新能力和实践能力 。
10
03
教学方法与手段选择
2024/3/26
11
传统教学方法回顾与总结
讲述式教学
等。
整合相关知识点
02 将分散的知识点进行整合,形成完整的知识体系,便
于学生理解和掌握。
划分知识模块
03
根据知识点的内在联系,将课程内容划分为若干个知
识模块,每个模块包含相对独立的知识点群。
2024/3/26
8
重点难点分析及解决方案
分析重点难点
通过教学经验和学生反馈,分析 多媒体课程中的重点和难点,如 多媒体数据压缩、多媒体通信等 。
26
THANKS
感谢观看
2024/3/26
27
培训目标和内容。
培训计划制定
根据培训需求,制定具体的培 训计划,包括培训课程、培训 方式、培训时间和地点等。
培训资源准备
准备必要的培训资源,如培训 教材、教学设备、网络资源等
,确保培训的顺利进行。
培训实施与评估
按照培训计划进行培训,并对 培训效果进行评估,及时调整
多媒体播放器课程设计报告

多媒体播放器课程设计报告1. 引言本文档是关于多媒体播放器课程设计的报告,旨在介绍多媒体播放器课程设计的目标、背景、需求、设计思路以及实现方法等内容。
通过本课程设计,旨在帮助学生深入了解多媒体播放器的原理和实践操作,提高学生的多媒体处理能力和编程能力。
2. 背景多媒体播放器作为一种常见的媒体播放工具,已经被广泛应用于各个领域。
在音乐、视频、图像等多媒体呈现中,多媒体播放器扮演着重要的角色。
因此,多媒体播放器的设计和开发具有重要的学术和商业价值。
3. 目标本课程设计的目标是通过设计和实现一个多媒体播放器,让学生了解多媒体播放器的基本原理和实现方法。
具体目标包括:•理解多媒体播放器的工作原理;•掌握多媒体播放器的功能和使用方法;•学会使用编程语言实现多媒体播放器;•提升学生的多媒体处理能力和编程能力。
4. 需求分析基于以上目标,我们对多媒体播放器的需求进行了详细的分析。
主要需求包括以下几点:•支持常见的音乐、视频和图像格式;•具有播放、暂停、停止、快进、倒带、调整音量等功能;•提供播放列表功能,可以添加、删除和管理媒体文件;•支持媒体文件的播放进度显示和拖动调整;•提供媒体文件的基本信息展示,如时长、码率、分辨率等;•具有用户友好的界面和操作方式。
5. 设计思路基于以上需求,我们设计并实现了一个基于图形界面的多媒体播放器。
设计思路如下:•使用面向对象的编程语言,如Python等,进行开发;•使用现有的多媒体处理库,如FFmpeg,进行音视频数据的解码和处理;•使用图形界面库,如Qt,进行用户界面的设计和实现;•设计数据模型,包括播放列表、媒体文件等;•实现播放器核心功能,包括播放、暂停、停止、快进、倒带、音量调整等;•设计并实现用户界面,包括媒体文件列表、播放控制等;•进行功能测试和性能测试,确保多媒体播放器的稳定性和可靠性。
6. 实现方法在实现多媒体播放器的过程中,我们采用了以下方法:6.1 使用FFmpeg进行媒体处理FFmpeg是一个开源的多媒体处理库,能够处理各种音视频格式的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.2 测试环境
1)
2)vs2010
4.3测试计划
1)打开文件 2)播放及各种键的使用 3)多次运行,检查稳定性
4.4测试项目及结果
1)打开文件
2)
5、工作总结
5.1工作成果
工作成果不是很明显, 因为我自作自受,霉运连连让我乱了阵脚,最 后的一个大悲剧直接把我将死了!我没有编写出来一个成功的程序,以 失败告终!我完了,Oh,myGod!
(设计标题) 多媒体播放器
用户签名: 开发成员: 孟凡林 开发时间: 2010—12-23
目录 0引言 1 工作计划 1.1主要工作阶段划分 1.2工作任务分工 2需求分析 2.1概述 2.2用户分析 2.3 约束条件 2.4功能需求 2.5用户界面需求 3设计与实现 3.1概述 3.2详细设计 3.1.1类的抽象及设计 3.3 主要程序文件 3.4开发环境以及部署环境要求 3.5 主要源码 4 测试 4.1概述 4.2 测试环境
} 8.全屏播放 void CMyDlg::OnFullButton() {
// TODO: Add your control notification handler code here m_ActiveMovie.Pause(); m_ActiveMovie.SetFullScreenMode(true); m_ActiveMovie.SetMovieWindowSize(SW_SHOWMAXIMIZED); m_ActiveMovie.Run();
被点击时提供资源管理器供用户选择文件; (c)控件playbtn类,作为播放器打开文件的消息响应媒介,能够做到 被点击时播放打开的文件; (d)控件pausebtn类,作为播放器打开文件的消息响应媒介,能够做 到被点击时暂停播放打开的文件; (e)控件lowerbtn类,作为播放器打开文件的消息响应媒介,能够做 到被点击时减小播放音量; (f)控件upperbtn类,作为播放器打开文件的消息响应媒介,能够做 到被点击时增大播放音量 (g)控件stopbtn类,作为播放器打开文件的消息响应媒介,能够做到 被点击时停止播放打开的文件; (h)控件fullscreen类,作为播放器打开文件的消息响应媒介,能够做到 被点击时全屏播放打开的文件; 至于其他的,当我们使用MFC编程时,会有很多封装的类供我们使用, 所以就不一一列举了!
// TODO: Add your control notification handler code here PostQuitMessage(0);//; }
4 测试
4.1概述
1)打开文件(从曲库中找出歌曲加入列表中) 2)播放,暂停,停止,全屏显示,停止,重播(active 能)
movie实现功
3.4开发环境以及部署环境要求
1) Vs2010; 2)
3.5 主要源码
1)打开文件 void CMyDlg::OnOpenButton() {
// TODO: Add your control notification handler code here CString strFilter = "Mp3 File(*.mp3)|*.mp3| "; strFilter += "MPEG File(*.mpg;*.mpeg)|*.mpg;*.mpeg| "; strFilter += "Wave File(*.wav)|*.wav| "; strFilter += "AVI File(*.avi)|*.avi| "; strFilter += "All File(*.*)|*.*| "; //过滤适当的文件必须以0区分,以00结束,否 则会出现参数不正确 CFileDialog dlgOpen(TRUE,NULL,NULL,OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT,strFilter,this);//为CFileDialog定义对象 DWORD MAXFILE = 2412; // 分配足够空间 dlgOpen.m_ofn.nMaxFile = MAXFILE; // 设置buffer的大小 CString strFileName; char* buf = new char[MAXFILE]; //分配空间 dlgOpen.m_ofn.lpstrFile = buf; dlgOpen.m_ofn.lpstrFile[0] = NULL; //赋值 if(IDOK == dlgOpen.DoModal()) { POSITION pos = dlgOpen.GetStartPosition(); while (pos != NULL) { strFileName = dlgOpen.GetNextPathName(pos); // 获取独立文件名 m_list1.InsertString(m_list1.GetCount(),strFileName);//加至播放列表 }
3.3 主要程序文件
1)头文件(为类加入相应的标准流,库): Activemovie3.h-------控件; stdafx.h-----框架构成; 多媒体.h-----多媒体的应用; 多媒体Dlg.h------对话框; resourse.h-----为多媒体.rc服务! 2)源文件(完成各种类的定义与实现): Activemovie3.cpp-------控件; stdafx.cpp-----框架构成; 多媒体.cpp----多媒体的应用; 多媒体Dlg.cpp------对话框; 多媒体.rc-----运行过的效果!
称
称
任务描述
负责 协助人 人
1234 全部 编写软件
孟凡 孟凡林 林
2需求分析
2.1概述
1)到网上或图书馆查找相关系统函数实现相应的功能; 2)使用MFC构建相应的用户界面
2.2用户分析
1)要求有稳定的性能,可实现要求的功能; 2)拥有较好的界面,很方便人操作!
2.3 约束条件
(作为开发人员的,通常你的小组的工作时间和人员是一个明显约束; 另外站在用户的角度,他们对你有什么约束要求,请从这两个角度进行 陈述。)
1 工作计划
1.1主要工Βιβλιοθήκη 阶段划分12月20 —21
12月22 —23
12月24 日
12月26
搜索相关资料,学习基础知识,大致设计 框架 考虑所用到的数据结构,函数及其作用, 做较为细致的分析 设计开始,仔细设计!
写报告
(用表格或图表的形式列出你们小组各个阶段的时间进度大致安排)
1.2工作任务分工
阶段名 任务名
} 7.减小声音 void CMyDlg::OnLowerButton() {
// TODO: Add your control notification handler code here long Volume=m_ActiveMovie.GetVolume(); m_ActiveMovie.Pause(); m_ActiveMovie.SetVolume(Volume-100); m_ActiveMovie.Run();
} 3)暂停播放 void CMyDlg::OnPauseButton() {
// TODO: Add your control notification handler code here m_ActiveMovie.Pause();
} 4.停止播放 void CMyDlg::OnStopButton() {
} delete [] buf; //释放空间
} 2)播放文件 void CMyDlg::OnPlayButton() {
// TODO: Add your control notification handler code here
m_ActiveMovie.Run();//播放文件 SetTimer(0,20,NULL);//设置定时器
SetDlgItemText(IDC_STATIC2,"Status:Repeat"); } else{ isRepeat=FALSE; SetDlgItemText(IDC_STATIC2,"Status:Normal"); } } 6.增大声音 void CMyDlg::OnUpperButton() { // TODO: Add your control notification handler code here long Volume=m_ActiveMovie.GetVolume(); m_ActiveMovie.Pause(); m_ActiveMovie.SetVolume(Volume+100); m_ActiveMovie.Run();
2.4功能需求
能够打开文件放进播放列表,点击播放键使其播放,暂停键暂停,停止 键停止,重播键重新播放,全屏键全屏播放,退出键退出程序,增大键 增大音量,减小键减小音量!
2.5用户界面需求
3设计与实现
3.1概述
使用MFC构建相应的用户界面,实现相应的功能----------能够打开文件 放进播放列表,点击播放键使其播放,暂停键暂停,停止键停止,重播 键重新播放,全屏键全屏播放,退出键退出程序,增大键增大音量,减 小键减小音量,然后向其中加入各个函数实现相应的功能!
} 9.关闭窗口 void CMyDlg::OnCloseButton() {
// TODO: Add your control notification handler code here m_ActiveMovie.CloseWindow();²
} 10.退出 void CMyDlg::OnClickedExitButton() {
3.2详细设计
3.1.1类的抽象及设计