基于VC媒体播放器的设计与实现含毕业设计源文件模板.doc
《基于VC媒体播放器的设计与实现含毕业设计源文件模板.doc》由会员分享,可在线阅读,更多相关《基于VC媒体播放器的设计与实现含毕业设计源文件模板.doc(36页珍藏版)》请在咨信网上搜索。
摘 要 现在常见多媒体软件应该说各有特色,不过几乎每一个全部存在着不如人意地方。我课题是“基于VC++开发工具媒体播放器软件设计”,首先是初步介绍部分目前媒体及媒体播放器,然后是具体介绍一个由本人设计多媒体播放器――cnplayer。该播放器是基于MFC集成开发环境,利用系统MCI(media controller interface)命令接口来编程,含有体积小,支持播放格式多、系统资源占用少、支持播放列表编辑、支持多种视频格式等功效优势,还实现了CD抓轨。 关键词:媒体播放器;MCI;播放列表;音频;视频 Abstract There are different characteristic among the normal multimedia player at present, but there are shortcoming for all of these software nearly. My center is "A Software Of Media Player Designed by VC++ Program Language ".Firstly, let me introduce those media formats and players at present, then there is a particular presentation for the media player that designed by myself--cnplayer. This player is based on MFC, referring to MCI(media controller interface) from system, having many good functions such as little size, supporting many kinds of format of media, taking up less system resource, supporting list control for playing item and catch track of CD. Key words: media player;MCI;play list;audio;video 目 录 摘 要 I ABSTRACT II 1 绪论 1 1.1课题研究目标和技术发展现实状况 1 1.1.1研究本课题目标 1 1.1.2技术应用基础现实状况 1 1.2论文完成关键工作和课题研究难点所在 2 1.2.1论文完成关键工作 2 1.2.2本课题研究难点 2 2 媒体格式介绍 4 2.1什么是媒体? 4 2.1.1媒体 4 2.1.2多媒体 5 2.2浅议数字音、视频格式 5 2.2.1 WAV格式 5 2.2.2 MIDI格式 6 2.2.3 CD格式 6 2.2.4 MP3格式 6 2.2.5 WAV格式 6 2.2.6 MP4格式 6 2.2.7 QuickTime格式 7 2.2.8 DVD格式 7 2.2.9 RealAudio格式 7 2.2.10 AIFF格式 8 2.2.11 ASF格式 8 2.3 常见播放器 8 2.3.1 Real Player 8 2.3.2 Windows Player 9 2.3.3 Quick Time Player 9 3 MCI命令接口编程 10 3.1 MCI设备 10 3.2 MCI函数和命令 10 3.2.1 MCI命令 10 3.2.2 MCI命令消息接口方法 13 3.2.3 MCI命令字符串接口方法 16 4 软件需求分析 18 4.1需求分析 18 4.2可行性研究 18 5.1.1 基础界面设置 19 5.1.2 打开文件,添加列表 19 5.1.3 播放控制 19 5.1.4 对列表控制 20 5.1.5 菜单设置 20 5.2.2 打开文件,添加列表 21 5.2.3 播放控制 21 5.2.4 对列表控制 22 5.2.5菜单设置 22 6 软件设计结果 24 6.1主界面 24 6.1打开文件 25 6.1菜单控制 26 7 软件评价 27 7.1软件特点 27 7.1软件不足 27 结 论 28 参 考 文 献 29 致 谢 30 1 绪论 多媒体技术概念和应用出现于20世纪80年代早期,经过十余年发展,伴随计算机科学网络普及和多媒体技术发展,已成为计算机领域发展热点技术,针对现在多种媒体格式,怎样简单方便播放各类媒体已成为大家普遍关注问题,而媒体播放器开发也变得十分关键。 1.1课题研究目标和技术发展现实状况 1.1.1研究本课题目标 伴随技术发展,多媒体素材类型也增多,包含音频、视频、图像、动画等,因为音视频、图像等信息容量大,受硬件条件限制,以往多媒体应用并不广泛,伴随硬件技术不停提升,多媒体技术已为各类人员广泛使用,开发多媒体课件、网络课程、网站、应用软件、管理项目等均需利用多媒体素材,所以开发制作这一播放器含有备现实意义,和其它多媒体播放器比较,这一多媒体播放器含有功效强大、占用空间小特点,它和现有多媒体资源应用情况紧密结合,既含有很强直观感,又不失通常性。 1.1.2技术应用基础现实状况 Microsoft企业1998年推出了Visual C++6.0,它是支持Win32平台应用程序(application)、服务(service)和控件(control)开发可视化编程集成环境。和VC++5.0最大不一样之处是它帮助功效更强大,MSDN(Microsoft Developer Networking)为包含VC++6.0在内全部微软程序产品提供在线帮助;另外,类对象可用组员函数、组员变量及函数参数类型和个数全部能动态显示在屏幕上,用户无须记住那些复杂而又枯燥乏味函数名及复杂参数,这无疑使得用VC++编程愈加轻易。所以VC++6.0可谓是Microsoft企业王牌产品,编程功效强大而赢得广大程序偏爱。 多媒体技术已经在以下若干方面开展了有效应用:①多媒体管理信息系统、展示系统;②多媒体电子出版物(Title);③计算机辅助教学、教育培训;④计算机艺术制作、设计;⑤计算机娱乐-游戏、双向电影;⑥协同工作。有发下三大发展趋势:深入完善计算机支持协同工作环境;智能多媒体技术;把多媒体信息实时处理和压缩编码算法集成到CPU中。 1.2论文完成关键工作和课题研究难点所在 针对如上所述研究方向,本课题“基于VC++开发工具媒体播放器软件设计”关键任务是深入了解多种媒体格式,开发出适用播放器软件。 所以应处理关键问题是怎样把你了解多媒体和VC知识应用到实际编程当中去及编制应用软件可用性、易用性、健壮性。 1.2.1论文完成关键工作 依据学习研究,本媒体播放器开发基于VC++ MFC对话框,利用Windows MCI(Media Control Interface)控件和VC++6.0自带ActiveX控件――ActiveMovieControl Object来实现各类媒体格式播放及程序界面处理。 首先确定要处理问题是搞清楚MCI函数和命令消息名称类型和功效;其次是经过分析媒体播放具体过程,在打开媒体设备过程中应用程序需要做哪些事情,方便在应用程序中加入对这些过程支持代码;在对应用程序步骤有了大致轮廓以后(最好画出步骤图),在开始考虑程序框架设计,应用程序外观设计;最终也是最关键就是编写实现播放媒体代码将播放器基础功效实现,紧接着就是程序调试和完善。 1.2.2本课题研究难点 本课题难点以下: 1、 对于VC++集成开发工具熟练使用,尤其是MFC使用,关键放在界面设计; 2、 各类媒体设备播放函数及对应命令; 3、 播放列表生成及其操作(删除而不影响其它文件播放等); 4、 CD音轨抓并转换格式。 以上各点组成了本软件难点,在克难过程中,我分析问题处理问题能力有了很大进步,经过努力,一个占用空间小、简单实用小型媒体播放器最终完成了。我开发媒体播放器支持全部media player支持媒体格式播放及其它AVI视频播放,实现了对播放列表控制,CD抓轨等功效。 2 媒体格式介绍 2.1什么是媒体? 2.1.1媒体 通常来说,媒体(medium,复数形式为media)是一个信息公布和表现方法,如正文、图形、语音、音乐等,可按不一样标准分类。CCITT将媒体定义为以下五种: ①感觉媒体(Perception medium):能直接作用于人感官,使人产生感觉媒体。如语言、音乐、图形、活动图像、文本等。我们所讲“多媒体”意义上媒体,关键是指这一类媒体。感知媒体帮助大家来感知环境。要处理问题是:人在计算机环境中怎样感知信息?就现在而言,人类关键靠视觉和听觉来感知环境信息,触觉作为一个感知方法也慢慢引入到计算机系统中。 ②表示媒体(Representation medium):为传输感觉而研究出来中间手段,方便更有效地将感觉从一地传往另一地。表示媒体特征用计算机内部表示来刻画。要处理关键问题是:计算机信息怎样编码?例子有: 文本字符用ASCⅡ或EBCDIC码表示。 图像能够用JPEG格式BMP格式编码。 组合音频/视频序列能够用不一样TV标准格式(PAL、SECAM等)编码。 ③表现媒体(Perception medium):用于信息传输中电信号和感觉媒体之间转换所用媒体,意指信息输入/输出工具和设备。要处理问题是:信息经过何种媒体输入到计算机中或从计算机中输出?输出媒体例子有屏幕、纸和喇叭,而输入媒体例子有键盘、鼠标、摄像机和麦克风等。 ④存放媒体(Storage medium):用于存放表示媒体载体。数据存放并不局限于计算机部件,所以,纸也是一个存放媒体。要处理问题是:信息存放在什么地方?存放媒体例子有:缩微胶片、磁盘等。 ⑤传输媒体(Transmission medium):用来将表示媒体从一地传输到另一地物理实体。要处理问题是,在什么上面传输信息?现在关键使用网络来进行信息传输,网络介质有同轴电缆、光纤等,无线方法进行通信正变得越来越广泛。 2.1.2多媒体 从字面上看,所谓多媒体multimedia,就是多个媒体综合,多媒体处理技术包含到以上五种媒体形式。但这么了解没有接触到多媒体概念特定内涵,是远远不够。为了辨析多媒体含义,我们给出两个多媒体定义进行比较: ①多媒体是指这么一个计算机系统:交互式综合处理多个媒体信息-文本、图形、图像和声音等,使多个信息建立逻辑连接,集成为一个含有交互性系统。(Lippincatt ,Byte 1990年) ②多媒体是下面两种以上媒体组成结合体:文本、图形、动画、图像、视频、声音等。(IBM ,multimedia Foundation,1990年) 显然,定义②是有问题,因为按这个定义,电视节目就能够看作是多媒体。这是因为,这个定义没有表现出多媒体计算机技术关键特征。定义①很好地表现了这一点:即多媒体含义除多个媒体外,还包含集成性和交互性两个关键特征。 2.2浅议数字音、视频格式 首先,我们来明确一下数字音、视频概念,它是指一个用来表示声音强弱数据序列,由模拟声音经抽样、量化和编码后得到。简单地说,数字音、视频编码方法就是数字音、视频格式,我们所使用不一样数字音、视频设备通常全部对应着不一样音频文件格式。常见数字音、视频格式有: 2.2.1 WAV格式 WAV格式是微软企业开发一个声音文件格式,也叫波形声音文件,是最早数字音、视频格式,被Windows平台及其应用程序广泛支持。WAV格式支持很多压缩算法,支持多个音频位数、采样频率和声道,采取44.1kHz采样频率,16位量化位数,所以WAV音质和CD相差无几,但WAV格式对存放空间需求太大不便于交流和传输。 2.2.2 MIDI格式 MIDI是Musical Instrument Digital Interface缩写,又称作乐器数字接口,是数字音乐/电子合成乐器统一国际标准。它定义了计算机音乐程序、数字合成器及其它电子设备交换音乐信号方法,要求了不一样厂家电子乐器和计算机连接电缆和硬件及设备间数据传输协议,能够模拟多个乐器声音。MIDI文件就是MIDI格式文件,在MIDI文件中存放是部分指令。把这些指令发送给声卡,由声卡根据指令将声音合成出来。 2.2.3 CD格式 大家全部很熟悉CD这种音乐格式了,扩展名CDA,其取样频率为44.1kHz,16位量化位数。CD存放采取了音轨形式,又叫“红皮书”格式,统计是波形流,是一个近似无损格式。 2.2.4 MP3格式 MP3全称是MPEG-1 Audio Layer 3,它在1992年合并至MPEG规范中。MP3能够以高音质、低采样率对数字音、视频文件进行压缩。换句话说,音频文件(关键是大型文件,比如WAV文件)能够在音质丢失很小情况下(人耳根本无法觉察这种音质损失)把文件压缩到更小程度。 2.2.5 WAV格式 WMA (Windows Media Audio)是微软在互联网音频、视频领域力作。WMA格式是以降低数据流量但保持音质方法来达成更高压缩率目标,其压缩率通常能够达成1:18。另外,WMA还能够经过DRM(Digital Rights Management)方案加入预防拷贝,或加入限制播放时间和播放次数,甚至是播放机器限制,可有力地预防盗版。 2.2.6 MP4格式 MP4采取是美国电话电报企业(AT&T)所研发以“知觉编码”为关键技术a2b音乐压缩技术,由美国网络技术企业(GMO)及RIAA联合公布一个新音乐格式。MP4在文件中采取了保护版权编码技术,只有特定用户才能够播放,有效地确保了音乐版权正当性。另外MP4压缩比达成了1:15,体积较MP3更小,但音质却没有下降。不过因为只有特定用户才能播放这种文件,所以其流传和MP3相比差距甚远。 2.2.7 QuickTime格式 QuickTime是苹果企业于1991年推出一个数字流媒体,它面向视频编辑、Web网站创建和媒体技术平台,QuickTime支持几乎全部主流个人计算平台,能够经过互联网提供实时数字化信息流、工作流和文件回放功效。Apple企业Quick Time电影文件现已成为数字媒体领域工业标准。Quick Time电影文件格式定义了存放数字媒体内容标准方法,使用这种文件格式不仅能够存放单个媒体内容(如视频帧或音频采样),而且能保留对该媒体作品完整描述;Quick Time文件格式被设计 用来适应为数字化媒体一同工作需要存放多种数据。因为这种文件格式能用来描述几乎全部媒体结构,所以它是应用程序间(不管运行平台怎样)交换数据理想格式。Quick Time 文件格式中媒体描述和媒体数据是分开存放,媒体描述或元数据(Meta-Data)叫做电影(Movie),包含轨道数目、视频压缩格式和时间信息。同时Movie包含媒体数据存放区域索引。媒体数据是全部采样数据,如视频帧和音频采样,媒体数据能够和Quick Time Movie存放在同一个文件中,也能够存放在一个单独文件或在多个文件中。 2.2.8 DVD格式 DVD Audio 是新一代数字音、视频格式,和DVD Video尺寸和容量相同,为音乐格式DVD光碟,取样频率为“48kHz/96kHz/192kHz”和“44.1kHz/88.2kHz/176.4kHz”可选择,量化位数能够为16、20或24比特,它们之间可自由地进行组合。低采样率192kHz、176.4kHz即使是2声道重播专用,但它最多可收录到6声道。而以2声道192kHz/24b或6声道96kHz/24b收录声音,可容纳74分钟以上录音,动态范围达144dB,整体效果出类拔萃。 2.2.9 RealAudio格式 RealAudio是由Real Networks企业推出一个文件格式,最大特点就是能够实时传输音频信息,尤其是在网速较慢情况下,仍然能够较为流畅地传送数据,所以RealAudio关键适适用于网络上在线播放。现在RealAudio文件格式关键有RA(RealAudio)、RM(Real Media,RealAudio G2)、RMX(RealAudio Secured)等三种,这些文件共同性在于伴随网络带宽不一样而改变声音质量,在确保大多数人听到流畅声音前提下,令带宽较宽大听众取得很好音质。 2.2.10 AIFF格式 AIFF(.AIF) 是苹果企业开发声音文件格式,被Macintosh平台和应用程序所支持。 2.2.11 ASF格式 Microsoft企业Windows Media关键是ASF(Advanced Stream Format)。微软将ASF定义为 同时媒体统一容器文件格式。ASF是一个数据格式,音频、视频、图像和控制命令脚本 等多媒体信息经过这种格式以网络数据包形式传输,实现流式多媒体内容公布。ASF最大优点是体积小,适合网络传输,用户能够将图形、声音和动画数据组合成一个ASF格式文件,不仅能够将其它格式视频和音频转换为ASF格式,而且用户还能够经过声卡和视频捕捉卡将诸如传声器、录像机等外设数据保留为ASF格式。另外,ASF格式 视频中能够带有命令代码,用户指定在抵达视频或音频某个时间后触发某个事件或操作 。 数字音、视频给我们生活带来了前所未有改变。它以音质优异、传输无损耗、可进行多个编辑和转换而成为主流,而且应用于各个方面。比如我们常使用到音响设备、IP电话、卫星电话、数字卫星电视和专业录音、制作等。展望未来,数字音、视频将会应用于更多领域,而且会拥有更清楚、更真实音质、更小巧体积和更方便传输和转换功效。 2.3 常见播放器 2.3.1 Real Player RealNetworks推出Real Player是现在最受欢迎网络流媒体播放器,它几乎支持全部媒体文件格式。除了RealNetworks自己推出流媒体格式ram、rmm、ra、rm、rp、rt外,还支持SMIL、SWF、MP3、WMA、AVI、MPEG、JPEG、GIF及PNG等格式,但不支持Quick Time文件格式。 Real One Player是RealNetworks企业最新推出一个新型音-视频综合播放系统,以替换该企业现有3种主打产品,即Real Player、Real Jukebox和Gold Pass。Real One Player 一大特点是多层画面功效,即当一个屏幕播放影碟或歌曲时候,旁边有一个侧屏幕提 供相关影碟或歌曲信息或广告,能够将丰富多彩Web页面、生动传神画面及声音、相关背景文字整合在同一个画面上,使用户得到一个完整声、视、讯信息。 2.3.2 Windows Player Windows Media Player是一个基于Direct Show体系结构多媒体播放器。微软借助自己在操作系统上优势,将其作为操作系统默认媒体播放器,现在最新版本是11.0。它几乎支持Windows下全部媒体文件格式,包含CD音 频曲目文件、ASF 、MPEG-1、MPEG-2、WAV、AVI、MIDI、VOD、AU、MP3等,同时能够播放Quick Time文件。 2.3.3 Quick Time Player Quick Time Player是Apple企业媒体播放器,现已推出了Quick Time 7.0版,还有Windo ws版和Mac版,其特点是和Internet紧密结合,安装是在网上进行。Quick Time Player能够直接播放格式有Quick Time电影、AVI、AIFF音频、SGI图像、Macromedia Flash等。另外,Quick Time Player还能够输入多种格式音频、视频和图像媒体文件,并能转换输出为其它格式。Quick Time Player还支持基于HTTP、RTP、RTSP、FTP流格式在线音频和视频。 3 MCI命令接口编程 Windows MCI(media control interface)是控制多媒体设备高层、通用命令接口。MCI可控制全部Windows能驱动多媒体设备,包含CD音频(CD Audio)、数字视频、动画、数字化波形声音、MIDI音序器、录像机及影碟机等。 MCI包含在Windows系统MMSYSTEM.DLL动态链接库中,有以协调多媒体事件和MCI设备驱动程序之间通信。部分MCI设备驱动程序,如影碟机设备驱动程序,能够直接控制目标设备;而另外部分MCI设备驱动程序,如Wave和MIDI设备驱动程序,可经过MMSYSTEM中函数,间接控制目标设备;还有部分MCI设备驱动程序则提供和其它Windows动态链接库连接高层接口。 3.1 MCI设备 使用MCI应用程序经过指定MCI设备来区分MCI设备,设备类型说明了设备物理类型。表1表出了可能用到MCI设备类型。 表 3-1 MCI设备类型 MCI设备 说 明 Cdaudio 激光唱机 Waveaudio 数字化波形声音设备 Sequencer MIDI音序器 Overlay 视频叠加设备(窗口中模拟视频) Dat 数字化磁带音频播放机 Digitalvideo 窗口中数字视频 Scanner 图像扫描仪 Vcr 磁带录像机或播放机 Videldisc 影碟机 Mmmovie 多媒体影片播放器 Other 示定义MCI设备 3.2 MCI函数和命令 Microsoft提供MMSYSTEM.H文件中定义了调用了MCI功效数据类型和函数原型,在使用MCI功效任何源模块中全部应包含该文件。 3.2.1 MCI命令 应用程序能过MCI设备发送命令(命令消息或命令字符串)来控制MCI设备,MCI命令能够分为4类,以下所术。 1) 系统命令:直接由MCI解释并由系统处理,是不传送到MCI设备命令。 2) 通用命令:全部MCI设备全部支持MCI命令。 3) 可选命令:MCI设备可选择使用MCI命令。 4) 专用命令:针对某类MCI设备或集合专有MCI命令。 MCI定义了两种接口方法,即命令消息方法和命令字符串方法。对应地,MCI命令可分为命令消息和命令字符串。关键MCI命令及分类如表2所表示,这些命令可能含有其对应扩展形式。 表 3-2 MCI命令列表 MCI命令消息 MCI命令字符串 MCI命令说明 MCI命令类型 MCI_SYSINFO SYSINFO 返回相关MCI设备停息 系 统 命 令 MCI_BREAK BREAK 为一个指定MCI设备设置一个终止键 MCI_SOUND SOUND 播放一段Windows指定系统声音 MCI_CLOSE CLOSE 关闭一个MCI 设备 通 用 命 令 MCI_GETDEVCAPS GETDEVCAPS 取得一个MCI设备性能参数 MCI_INFO INFO 从一个MCI设备得到相关信息 MCI_OPEN OPEN 初始化一个MCI设备 MCI_STATUS STATUS 从一个MCI设备返回相关状态信息 MCI_LOAD LOAD 从一个磁盘文件中加载数据 可 选 命 令 MCI_PAUSE PAUSE 暂停播放数据 MCI_PLAY PLAY 开始播放数据 MCI_RECORD RECORD 开始统计数据 MCI_RESUME RESUME 重新开始播放或统计 MCI_SAVE SAVE 将数据存放到磁盘文件中 MCI_SEEK SEEK 向前或向后检索 MCI_SET SET 设置设备信息 MCI_STOP STOP 停止播放或统计 MCI命令全部能够带两个标志命令来控制命令方法,即“wait”和“notify”。它们在命令消息和命令字符串接口形式和意思如表3所表示。 表 3-3 MCI标志命令 命令消息 命令字符串 功 能 MCI_WAIT wait 通知MCI设备等,MCI命令实施完后,才能将控制权还给应用程序 MCI_NOTIFY notify 通知MCI设备等,立即将控制权交给应用程序,但当命令实施完后,向应用程序发送MM_MCINOTIFY消息 全部MCI函数全部以mci为前缀。对应于MCI命令消息和命令字符串接口方法,MCI函数也分为两类,即命令消息函数和命令字符串函数。在MMSYSTEM.H中定义了这些函数原型。MCI函数如表4所表示。 表 3-4 MCI函数 函数名 功 能 类型 mciSendCommand 发送命令消息 命令消息接口函数 mciGetDeviceID 获取MCI设备ID mciSetYieldProc 设定一个回调函数,在结束带wait标志命令时调用 mciGetYieldProc 获取目前回调函数 mciSendString 发送命令字符串 命令字符串接口函数 mciGetErrorString 获取目前MCI错误字符串描述 公用函数 3.2.2 MCI命令消息接口方法 MCI命令消息接口方法利用消息和数据结构来给多媒体设备发送命令和接收MCI设备传来信息。这种方法接口函数关键有3个,即mciSendCommand, mciGetDeviceID和mciGetErrorString。它们函数原型以下: MCIERROR mciSendCommand ( MCIDEVICEID IDDevice, //设备ID UINT uMsg, //命令消息 DWORD fdwCommand, //命令消息标志 DWORD dwParam //命令消息使用结构参数地址 ); MCIDEVICEID mciGetDeviceID ( LPCTSTR lpszDevice //设备类型 ); BOOL ( DWORD fdwError, //错误代码 LPTSTR lpszErrorText, //错误描述 UINT cchErrorText //错误描述长度); mciGetDeviceID经过传送MCI设备名lpszDevice来获取MCI_OPEN命令消息找开MCI设备标识号wDeviceID,其值可用于mciSendCommand参数wDeviceID。 mciSendCommand用于向标识号为wDeviceIDMCI设备发送命令消息uMsg。当用送MCI_OPEN命令消息打开一个设备时,将自动创建一个设备标识号。 假如设备打开成功,能够从MCI_OPEN_PARMS结构wDeviceID数据域中取得该设备标识号,该值将保留以供后续MCI命令使用。 假如mciSendCommand调用成功,则返回值为0;不然表示设备驱动犯错,这时可用mciGetErrorString来取得错误信息文字描述。 MCI提供一个名为MCI_ALL_DEVICE_ID特殊设备标识号。目前全部已打开MCI设备全部将接收到对MCI_ALL_DEVICE_ID发送任何MCI命令。 使用任何一个MCI设备前全部应先用MCI_OPEN打开它。打开MCI设备时,要求指定对应MCI_OPEN_PARMS结构。 假如打开设备成功,则该结构wDeviceID域返回MCI设备标识号ID。 使用MCI_OPEN命令消息时可使用命令消息中表5所表示。MCI_OPEN_PARMS结构定义以下: typedef struct { DWORD dwCallback; //回调窗口句柄 MCIDEVICEID wDeviceID; //设备打开成功,返回设备号 LPCSTR lpstrDeviceType; //设备类型 LPCSTR lpstrElementName; //复合设备设备元素,通常为文件名 LPCSTR lpstrAlias; //指定设备别名 } MCI_OPEN_PARMS; 表3-5 MCI_OPEN命令消息标志 消息标志 意 义 MC_OPEN_ALIAS MCI_OPEN_PARMS结构lpstrAlias域中指定了设备别名 MC_OPEN_ELEMENT MCI_OPEN_PARMS结构lpstrElementName域中指定了设备元素 MC_OPEN_SHAREABE 按共享设备方法打开设备 MC_OPEN_TYPE MCI_OPEN_PARMS结构lpstrDeviceType域中指定了设备类型 MC_OPEN_TYPE_ID MCI_OPEN_PARMS结构lpstrDeviceType域中指定了设备类型ID 打开一个简单MCI设备不需要指定设备元素,即不需要指定一个数据文件,所以能够仅仅指定MCI_OPEN_PARMS结构中wDeviceID和lpstrDeviceType两个数据域。要打开一个复合MCI设备,必需指定设备元素数据域lpstrElementName和设备类型数据域lpstrDeviceType。对于打开复合MCI设备,有以下3种方法可供选择: 1) 为确定MCI设备性能,能够只指定设备类型来打开MCI设备。这时,只许可确定MCI设备性能,然后关闭设备,不般不能进行其它操作。 2) 为使一个设备元素和指定设备相联络,应同时指定设备元素(数据文件名)和设备类型。这时可对设备进行对应多种操作。 3) 在使用隐含MCI设备时,可只指定MCI设备(数据文件名),而把设备类型指定为NULL;MCI将依据设备元素扩展名从系统定义中选择隐含约定MCI设备。 应用程序在使用完一个MCI设备后应明确地关闭该MCI设备。MCI_CLOSE命令消息用于关闭并释放MCI设备,即取消应用程序对MCI设备或设备元素访问权。 当用MCI_SYSINFO命令消息获取MCI设备系统信息时,需要在mciSendCommanddwParam参数中指定MCI_SYSINFO_PARMS结构地址,系统信息将经过该结构返回。和MCI_SYSINFO命令消息相关消息标志如表6所表示。MCI_SYSINFO_PARMS结构定义以下: typedef struct { DWORD dwCallback;//回调窗口句柄 LPSTR lpstrReturn; //返回信息缓冲区地址 DWORD dwRetSize; //返回信息大小 DWORD dwNumber; //索引号 UINT wDeviceType; //设备类型 } MCI_SYSINFO_PARMS; 表 3-6 MCI_SYSINFO命令消息标志 消息标志 意 义 MCI_SYSINFO_QUANTITY 返回指定设备类型数目,如和MCI_SYSINFO_OPEN一起使用,则仅返回已打开设备数目 MCI_SYSINFO_NAME 返回设备名,如和MCI_SYSINFO_OPEN一起使用,则仅返回已打开设备名称 MCI_SYSINFO_OPEN 仅返回已打开设备信息 MCI_SYSINFO_INSTALLNAME 指定设备安装名称 在使用MCI设备时,还应注意共享、等候和通告等标志使用。 3.2.3 MCI命令字符串接口方法 MCI命令字符串使用ASCII字符串来发送驱动MCI设备命令,这种方法采取接口函数有mciSendString、mciGetErrorString。 mciSendString 用于向MCI设备发送命令字符串,其函数原型以下: MCIERROR mciSendString( LPCTSTR lpszCommand, //指向一个以NULL结尾MCI命令字符串,格//式以下:comm.and device_name argument LPTSTR lpszReturnString, //指向一个用于存放MCI命令实施后返回//字符串信息缓冲区 UINT cchReturn, //缓冲区大小 HANDLE hwndCallback //指定一个接收MM_MCINOTIFY窗口句柄, //非MCI命令中包含了notify标志,不然该参数可忽略。); 4 软件需求分析 4.1需求分析 伴随计算机技术发展和网络普及,多媒体素材类型越来越多,包含音频、视频、图像、动画等,因为音视频、图像等信息容量大,受硬件条件限制,以往多媒体应用并不广泛,伴随硬件技术不停提升,多媒体技术已为各类人员广泛使用,开发多媒体课件、网络课程、网站、应用软件、管理项目等均需利用多媒体素材。本软件是为满足部分人浏览需求而开发,能打开多个媒体格式,小巧简单,另外,为了方便使用,还含有对播放列表进行操作功效,所以开发制作这一播放器含有备现实意义。 4.2可行性研究 要开发一个软件程序,其方案十分关键。一个合理可行方案有利于降低程序员工作量、缩短开发周期,更关键是能够开发出运行效率更高、可移植性愈加好、健壮性更强代码。以下是本程序方案论证: 本程序开发用是VC++MFC集成开发环境,开发本程序方案大约有以下二种: 1、利用VC开发环境提供ActiveX控件――ActiveMovieControl Object 2、利用系统自带MCI命令接口来编程。 (1)第一个方法是使用ActiveX控件,MFC能够利用“ActiveMovieControl Object”控件直接操作,实现起来很简单,但用到是完全她人东西,故而不是太好。 (2)第二种方法是使用系统自带MCI命令接口。MCI包含在系统MMSYSTEM.H文件中,参数较多,功效比较齐全,即使使用起来比较烦琐,不过更含有开发意义。 总而言之,使用系统自带MCI命令接口来编程方法是比较理想选择。以下开发设计步骤就是基于第二种方案设计步骤。 5 软件开发和设计 5.1程序设计基础思想 最初利用MFC,建立对话框为基础框架。因为本软件是以系统自带MCI命令接口为基础,所以为丰富本软件,将关键和难点放在了界面设计方面。 5.1.1 基础界面设置 在基础界面确定后,添加各类控件,图所表示: 图 5-1 对话框基础框架 将Button定义为自定义CButtonST按纽类对象,进度滑条定义为自定义CMySliderControl类对象,时间显示静态文本定义为自定义CMatrixStatic。各个控件位置是由程序控制,所以原来摆在什么地方并不影响程序显示出来效果。 5.1.2 打开文件,添加列表 打开文件有两种方法,一是经过主面板上打开按纽,二是经过菜单汉字件子菜单――打开文件。 添加文件:CButtonST,IDC_ADD,m_add 5.1.3 播放控制 播放控制包含:播放(暂停),停止,上一首,下一首,循环,播放进程控制。播放控制也可在菜单中进行- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VC 媒体播放器 设计 实现 毕业设计 源文件 模板
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文