用VC++实现多媒体播放器
- 格式:doc
- 大小:69.00 KB
- 文档页数:11
VC++多媒体编程VC++多媒体编程介绍VC++(Visual C++)是一种基于C++语言的集成开发环境,可以用于开发各种Windows应用程序。
而多媒体编程指的是利用计算机来处理音频、视频、图像等不同形式的媒体数据。
在VC++中,可以使用多种技术和库来进行多媒体编程,实现多媒体文件的播放、录制、编辑等功能。
基本概念在进行VC++多媒体编程之前,我们需要了解一些基本概念:1. 多媒体文件:指的是包含音频、视频、图像等多种媒体数据的文件,如MP3音乐文件、AVI视频文件等。
2. 多媒体数据:指的是音频、视频或图像数据,可以由多个采样点、像素等组成。
3. 编码器(Enr):指的是将原始媒体数据进行编码、压缩等处理的算法或软件。
4. 解码器(Der):指的是将编码后的媒体数据进行解码、解压等处理的算法或软件。
多媒体编程库在VC++多媒体编程中,有几个常用的库可以使用:1. DirectShow:是微软提供的一种用于多媒体应用程序开发的架构。
它包括一组组件和接口,可以实现音频、视频等媒体数据的捕捉、处理、播放等功能。
2. Windows Media Foundation:是微软提供的一套API,用于在Windows平台上进行音频、视频的编码、解码、播放等操作。
3. OpenCV:是一个开源的计算机视觉库,提供了丰富的图像和视频处理功能,可以在VC++中使用。
多媒体编程步骤进行VC++多媒体编程通常包括以下步骤:1. 媒体捕捉:使用合适的设备(如摄像头、麦克风等)捕捉音频、视频等媒体数据。
2. 数据处理:对捕捉到的媒体数据进行解码、解压等处理,以获取原始媒体数据。
3. 数据操作:对原始媒体数据进行特定操作,如播放、录制、编辑等。
4. 可视化:对媒体数据进行可视化显示,如显示图像、视频播放等。
实例代码以下是一个简单的示例代码,演示了如何使用DirectShow库在VC++中播放一个视频文件:cppinclude <dshow.h>int mn(){CoInitialize(NULL);IGraphBuilder pGraph = NULL;IMediaControl pControl = NULL;IMediaEventEx pEvent = NULL;// 创建Graph Builder对象CoCreateInstance(CLSID_FilterGraph, NULL,CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void)&pGraph);// 加载视频文件pGraph->RenderFile(L\。
课程设计课程名称可视化编程(VC)学院计算机科学与技术学院专业软件工程班级1202姓名指导教师2013——2014学年第2学期目录1.设计题目及要求 (3)2.基本功能描述 (4)3.软件设计模块 (6)3.1文件的打开模块 (6)3.2文件的播放模块 (9)3.3文件的停止模块 (9)3.4全屏模块 (9)3.5快进、快退模块 (9)3.6换皮肤模块 (10)3.7音量调节模块 (12)3.8窗口隐藏模块 (12)3.9文件暂停模块 (12)4.运行结果 (13)5.设计过程中遇到的问题和感想 (15)6.参考文献 (16)一、设计题目及要求1.1设计题目基于MFC的多媒体播放器系统1.2题目要求1.制作一个具有自己设计风格的媒体播放器。
2.要求能随机选取要播放的文件,实现前进,回退,暂停,循环播放,音量大小调节等基本功能。
3.要求能播放多种格式(至少四种或四种以上)的音频视频格式文件。
4.可以实现其它附加功能(不在要求范围之内)5.界面良好,功能完善二、基本功能描述本次课程设计制作的多媒体播放器是利用Windows系统自带的Windows Media Player控件,可以分别通过按钮和菜单实现*.mp3、*.mid、*.avi、*wav等媒体文件的打开、播放、暂停、全屏、音量调节、快进、快退、关闭、循环播放等功能。
还通过更换位图的方式,实现了换皮肤功能。
1.打开文件:通过选择文件类型打开不同类型的文件,如果打开的格式不对,消息框会提醒打开正确的格式的文件。
再打开文件前,其他按键不能进行操作。
2.播放文件:开始播放文件。
3.停止播放:停止播放文件。
4.全屏:将播放器变为全屏。
5.快退、快进:实现快退、快进功能。
6.换皮肤:选择沙漠、可爱棒冰、灯塔、郁金香可以为播放器换不同的背景。
7.音量调节:可以实现调大,调小音量的功能。
三、软件设计模块3.1文件的打开模式在WavePlayDlg.h中设定一个int型的全局m_MediaType,通过选择不同的按钮来给m_MediaType赋不同的值,不同的值代表不同的文件格式。
自制多媒体播放器使用VC强大的AppWizard、ClassWizard和其中的各种控件可以方便地建立各种应用程序。
但是想要实现更高级更复杂的功能,就要借助丰富的ActiveX控件资源了。
这里就要使用VC++——ActiveMovieControl Object,来建立自己的多媒体播放器。
此多媒体具有一般的播放功能,能播放:*.mp3,*.wma,*.mdi,*.wav,*.avi,*.dat等文件,还有Repeat功能。
具体步骤:1.打开VC6.0,在Projects下选择MFC AppWizard(exe),并取名MediaPlayer,然后建立基于对话框的应用程序。
2.打开Resource View,选择其中的对话框,打开其中的主对话框,去掉对话框上的“确定”按钮,保留“取消”,将Caption改为“退出”。
然后再在上面加上九个按钮,ID和Caption分别为IDC_OPEN,打开;IDC_PLAY,播放;IDC_PAUSE,暂停;IDC_STOP,停止;IDC_CLOSE,关闭;IDC_LOWER,<<=;IDC_UPPER,=>>;IDC_FULLSCREEN,全屏;IDC_REPEAT,重复;再加入两个静态文本控件,分别为:IDC_STATIC,音量;IDC_STATIC2,状态:正常。
3.点击“开始”,出现“注册成功”的对话框后打开Projects->Add to Project->Components and Controls->Registered ActiveX Controls对话框,选择其中的ActiveMovieControl Object, Insert,OK之后,会发现控件面板上多了一项ActiveMovieControl Object,将它选中,直接放在对话框上。
按Ctrl+W打开ClassWizard为它添加变量m_ActiveMovie。
2018.16网络与信息工程基于V C背景下的多媒体播放器设计研究石冬琴(江南机电设计研究所,贵州贵阳,550000 )摘要:本文首先是初步介绍一些当前的媒体及媒体播放器,然后是详细介绍一个由本人设计的多媒体播放器软件。
该播放器是基于M F C集成开发环境下,利用系统的M C I命令接口来编程。
关键词:VC ;多媒体播放器;功能模块Research on the design of multimedia player based on VCShi Dongqin(Jiangnan Institute of mechanical and electrical design,Guiyang Guizhou, 550000) Abstract:This article first introduces some of the current media and media players, and then introduces a multimedia player software designed by myself. The player is programmed by the MCI command interface of the system based on the MFC integrated development environment.Keywords:VC; multimedia player; functional module1基本功能描述多媒体播放软件现在几乎成为每一台家用计算机的装机必备软件,比较流行的有快播、暴风影音以及百度影音等等,通过这些软件能够播放RM、RMVB、MP3、MPEG、D A T等多种格式的多媒体文件。
这些商业软件在功能上已经做的相当完备,也符合大多数普通消费者的的胃口,但很多人电脑里总是安装了多种播放器,因为不同的播放器有不同的特点,并不是每个人都执著于用某一款播放器,因此设计一款符合自己使用习惯的播放器是很可行的。
VC++多媒体编程介绍在计算机编程中,多媒体编程是一项重要的技术,它涉及到处理音频、视频和图像等多媒体数据。
VC++(Visual C++)是一种流行的编程语言,用于开发Windows操作系统上的应用程序。
本文将介绍使用VC++进行多媒体编程的基本知识和技巧。
音频编程在VC++中,可以使用Windows的多媒体API(Application Programming Interface)来处理音频数据。
通过这些API,您可以实现音频的录制、播放和处理等功能。
以下是一些常用的音频编程任务:1. 音频录制:使用API函数可以从麦克风或其他音频输入设备录制音频数据。
您可以指定录制的采样率、位深度和通道数等参数。
2. 音频播放:通过API函数可以将音频数据播放到扬声器或其他音频输出设备。
您可以控制音量、平衡和音频效果等参数。
3. 音频处理:您可以使用API函数对音频数据进行各种处理,如混音、均衡器、回声消除等。
这些处理可以改变音频的声音特性,以满足特定需求。
视频编程在VC++中,您可以使用Windows的多媒体API来处理视频数据。
通过这些API,您可以实现视频的捕捉、播放和处理等功能。
以下是一些常用的视频编程任务:1. 视频捕捉:使用API函数可以从摄像头或其他视频输入设备捕捉视频数据。
您可以指定捕捉的分辨率、帧率和颜色空间等参数。
2. 视频播放:通过API函数可以将视频数据播放到显示器或其他视频输出设备。
您可以控制播放速度、尺寸和视频效果等参数。
3. 视频处理:您可以使用API函数对视频数据进行各种处理,如图像滤波、边缘检测、视频压缩等。
这些处理可以改变视频的视觉特性,以满足特定需求。
图像编程在VC++中,您可以使用Windows的GDI(Graphics Device Interface)来处理图像数据。
通过GDI,您可以实现对图像的绘制、编辑和保存等功能。
以下是一些常用的图像编程任务:1. 图像加载:使用GDI函数可以从文件或内存中加载图像数据。
基于VC的多媒体播放器的设计与开发在设计和开发基于VC的多媒体播放器时,有几个关键的方面需要考虑。
首先,我们需要确定播放器的功能和特性。
其次,我们需要设计用户界面,并开发与之相应的功能。
最后,我们需要确保播放器的性能和稳定性。
在功能和特性的确定方面,我们可以考虑以下几点:1. 支持多种多媒体文件格式:播放器应该能够支持常见的音频和视频文件格式,如MP3,MP4,AVI等。
2. 播放控制功能:播放器应该具备诸如播放,暂停,停止,快进,快退,循环播放,随机播放等基本的播放控制功能。
3. 音量调节功能:播放器应该提供音量增减的功能,使用户可以根据需要调整音量大小。
4. 播放列表功能:播放器应该允许用户创建和管理自己的播放列表,方便用户播放和组织自己的音频和视频文件。
在用户界面的设计方面,我们可以考虑以下几点:1. 主界面设计:主界面应该简洁明了,让用户能够直观地找到所需的功能按钮和控件。
2. 播放控制按钮:应该将常用的播放控制按钮(如播放,暂停,停止)放置在主界面上,方便用户随时进行操作。
3. 播放进度条:应该显示当前正在播放的媒体文件的播放进度,以便用户了解播放进度。
4. 音量控制按钮:应该提供对音量的调节按钮,让用户能够根据需要增加或减少音量大小。
在功能的开发方面,我们可以使用VC等开发工具来实现:1. 文件解码播放:使用合适的解码器来解码音频和视频文件,并通过音频驱动和显示驱动将其播放出来。
2. 播放控制:根据用户的操作,通过调用相关的API来实现播放,暂停,停止,快进,快退等操作。
3. 播放列表管理:通过读取用户的文件夹和文件,将其组织成播放列表,并实现相应的增加,删除和切换操作。
最后,在性能和稳定性方面,我们可以采取以下措施:1. 优化播放器的代码结构和算法,使其能够高效地解码和播放多媒体文件。
2. 对于文件解码过程中可能发生的异常和错误情况,进行适当的异常处理和错误提示,以确保播放器的稳定性和可靠性。
基于VC的多媒体播放器的设计与开发一、引言随着科技的不断进步和互联网的发展,计算机多媒体技术已经被广泛应用于日常生活中。
而多媒体播放器作为计算机多媒体技术的重要应用之一,早已成为人们生活娱乐的重要组成部分。
本文将介绍一种基于VC的多媒体播放器的设计与开发,主要包括系统的功能需求、体系结构设计、核心功能的实现等内容。
二、系统功能需求1. 基本的播放功能:支持常见的音视频文件格式,能够对音乐和视频进行播放、暂停、停止等操作。
2. 画面显示:提供清晰流畅的视频播放效果,支持全屏、窗口模式下的画面显示,能够根据用户需求进行画面大小的调整。
3. 音频输出:支持多种音频输出方式,如扬声器、耳机等,并能够根据用户需求进行音量的调整。
4. 播放控制:提供播放进度条、音量调节、快进快退等播放控制功能,方便用户对音视频进行控制和调节。
5. 播放列表管理:支持用户创建、导入和管理播放列表,方便用户组织和管理自己的音视频文件。
6. 其他功能:支持收藏、分类、搜索等附加功能,方便用户快速找到自己想要播放的音视频文件。
三、体系结构设计基于VC的多媒体播放器的体系结构设计如下:1. 前端界面设计:使用VC进行界面设计,根据用户需求设计简洁、直观的操作界面,使用户可以方便地进行各种操作。
2. 多媒体引擎:使用VC的多媒体编程接口进行音视频播放控制,实现音视频的解码、播放和控制功能。
3. 播放列表管理:设计数据库或文件系统来管理播放列表,实现播放文件的增删改查功能。
4. 用户交互功能:通过与用户的交互实现播放控制、搜索、收藏等功能,提升用户体验。
5. 后台管理功能:实现系统配置、播放规则设置等功能,方便管理员对系统进行管理和维护。
四、核心功能实现1. 多媒体文件格式支持:通过调用VC的多媒体编程接口,实现对常见音视频文件格式的解码和播放功能。
2. 视频播放效果优化:利用VC的图像处理功能实现视频的渲染,提供清晰、流畅的画面显示效果。
用VC++实现多媒体播放器摘要目前常见的多媒体软件应该讲各有特群,然而几乎每一具都存在着别如人意的地点。
我的课题是“基于VC++开辟工具的媒体播放器软件设计”,首先是初步介绍一些当前的媒体及媒体播放器,然后是详细介绍一具由本人设计的多媒体播放器———mediaplayer。
该播放器是基于MFC集成开辟环境,利用系统的MCI(media controller interface)命令接口来编程,具有体积小,支持的播放格式多、系统资源占用少、支持播放列表编辑、支持各种视频格式等功能优势。
关键词媒体播放器;MCI;播放列表;音频;视频AbstractThe common multimedia software should have their characteristics, but almost each one there is no satisfactory manner. My topic is "based on VC + + development tools for media player software design", the first is an introduction to some of the current media and media player, then the detailed design of a multimedia player himself - mediaplayer. The player is based on MFC integrated development enviroXXXent, using the system MCI (media controller interface) command interface to programming, is small,support multi-format playback, occupy less system resources to support the play list editing, support various video formats such as functional advantages.Keywordsmedia player; MCI; play list; audio; video名目一、引言1课题研究的目的和技术进展的现状1.1研究本课题的目的1.2技术应用的基本现状2论文完成的要紧工作3本课题中的重点二、媒体格式简介.1啥是WMF SDK2 WMF SDK体系结构2.1 生成器结构2.2 读取器结构3 WMF SDK编程开辟环境配置三、软件开辟与设计.1操作办法2具体步骤四、系统测试1测试目的2测试环境3测试办法3.1白盒法3.2黑盒法4测试结果五、结束语XXX基于VC++开辟工具的媒体播放器软件设计一、引言多媒体技术的概念和应用浮现于20世纪80年代初期,通过十余年的进展,随着计算机科学网络的普及和多媒体技术的进展,已成为计算机领域进展的热点技术,针对目前各种媒体格式,怎么简单方便的播放各类媒体已成为人们普遍关注的咨询题,而媒体播放器的开辟也变得十分重要。
vc多媒体播放器(DOC 28页)目录1.基本功能描述........................................................................ 错误!未定义书签。
2.设计思路................................................................................ 错误!未定义书签。
3.软件设计 (2)3.1设计步骤 (2)3.2界面设计 (5)3.3关键功能的实现 (9)4结论与心得体会 (19)5参考文献 (20)6思考题 (20)7附录 (21)7.1调试报告 (21)7.2测试结果 (24)7.3关键源代码 (25)能的实现,如播放、暂停、全屏、音量增大、音量减小、静音、快进、快退等功能,主要调用CWMPControl和CWMPPlayer类中的成员函数来进行实现。
对于播放列表,这次设计使用了SetWindowPos函数来改变一个子窗口弹出的尺寸和方向,并一些相关的函数实现了保存列表、删除列表、删除当前的功能。
对应播放列表,我还添加了播放模式选择的功能,提供了顺序播放、随即播放、单曲循环三种选择。
这当中运用的ontimer函数和settimer函数来控制播放模式。
参照以上的设计思想,流程图如图1所示:3.软件设计3.1设计步骤首先,打开Microsoft Visual Studio6.0软件,新建一个工程如图2所示,以ZhuangWenfeng为工程名,然后将此工程定义为基于对话框的MFC应用程序如图3所示,点击完成就成功建立了一个基于对话框的工程。
图3基于对话框的MFC程序在建立好工程之后,首先是Windows Media Player控件的添加:建立空白对话框之后,在对话框的空白处单击鼠标右键,选择Insert ActiveX Control菜单项。
选择Windows Media Player控件,如图4所示。
用Visual C++设计的多媒体播放器〔附源程序〕用Visual C++设计的多媒体播放器学生:** 指导教师:**摘要本课程设计的目的是制作一个可播放目前主流媒体格式的多媒体播放器,其根本功能应具有媒体播放、音量调节、播放进度选择、暂停、停顿以及歌曲信息的查询与添加等,使之成为一款简易的媒体播放设备,能够完美的播放市面上大多数的音频、视频文件。
在课程设计中,系统开发平台为Windows XP Professional SP2,程序设计环境采用Visual C++ 6.0。
在程序设计中,我利用了Microsoft公司开发的ActiveX控件可视动画控件ActiveMovie该播放器是基于MFC 集成开发环境,利用ActiveMovieActiveMovie控件;多媒体;播放器目录引言 (1)1.1系统的设计目标和系统的意义 (1)1.2多媒体播放器将到达的效果 (2)1.3软件的开发设计思想 (2)1.4开发工具的介绍 (3)1.5可行性分析和需求分析 (3)2 软件的需求分析和模块设计 (4)2.1软件的需求分析 (4)2.2软件的模块设计 (4)3. 数据库设计 (5)3.1数据需求分析 (5)3.2数据库概念构造设计 (5)3.3数据库逻辑构造设计 (6)3.4数据库构造的实现 (7)4多媒体播放器软件设计 (7)4.1模块实现函数说明 (7)4.2主要变量声明 (8)4.3设计多媒体播放器界面 (9)4.4播放器模块设计 (9)4.5 功能模块设计 (10)4.6歌曲信息模块的设计 (13)4.7 欢送动画模块设计 (16)5 程序实现结果 (17)5.1 程序运行流程图 (17)5.2 播放器实现结果演示 (18)完毕语 (23)考文献……………………………………………………………………………………….. .24附录:源程序清单1 引言随着多媒体硬件环境和软件环境的不断完善,多媒体在人类文化生活中扮演的角色越来越重要。
C#多媒体播放器C#是一种流行的面向对象编程语言,常用于Windows平台的应用程序开发。
本文将介绍如何使用C#编写一个多媒体播放器,用于播放音乐和视频文件。
前置知识在开始编写多媒体播放器之前,你需要了解一些C#编程的基本知识,包括使用Visual Studio进行开发、了解Windows Forms控件、事件处理程序和基本的面向对象编程。
此外,还需要了解如何使用.NET Framework中的System.Windows.Forms和System.Media命名空间来访问Windows多媒体API。
实现步骤1.创建新项目在Visual Studio中创建一个新的Windows Forms应用程序项目。
可以使用默认的窗体,或者自定义一个新的界面。
2.添加控件在设计视图中选择“工具箱”,将“Windows Media Player”控件拖动到窗体上。
此外,还需要添加按钮和文本框等控件,用于选择和显示音乐或视频文件路径。
3.设置控件属性对于Windows Media Player控件,需要设置Dock属性为Fill,以便于随着窗体大小自适应播放器大小。
对于按钮控件,需要设置Text属性为“选择文件”或类似的文本。
对于文本框控件,需要设置ReadOnly属性为True,以保护用户输入文件路径。
4.添加事件处理程序在代码视图中,为“选择文件”按钮添加单击事件处理程序。
在该事件处理程序中,使用OpenFileDialog控件打开文件选择对话框以获取音乐或视频文件的路径。
将此路径设置到文本框中。
5.播放多媒体文件在“选择文件”按钮事件处理程序中,使用Windows Media Player控件的URL属性来加载并播放选定的文件。
在其他按钮事件中,通过调用Windows Media Player控件的Play、Pause和Stop方法来控制媒体的播放。
示例代码以下是一个简单的代码示例,用于选择和播放音乐或视频文件。
用vc++做视频播放器6.2.1 利用VC6.0的MFC AppWizard创建工程首先:注册该控件在windows“运行”里写入:regsvr32 msdrm.ocx 单击确定1.在VC++集成开发环境中,选择菜单File|New,弹出New对话框。
2.在Projects选项卡中选择MFC AppWizard(exe),并在Location项中输入“D:\Samples”。
3.在Project name中输入“ CTLY2412”,项中的内容自动设置为“D:\Samples\Player”。
4.按下OK按钮,在弹出的MFC AppWizard-Step-1对话框中选择Dialog based项,生成基于对话框的应用程序。
5.按下Finish按钮,在弹出的对话框中按下OK按钮,等待创建完相应的工程。
6.2.2 为对话框添加菜单1.在工作区中单击Resource View选项卡,展开Dialog资源组,双击IDD_PLAYER_DIALOG。
在右边的工作台中显示可以进行可视化编辑的IDD_PLAYER_DIALOG对话框,并打开一个控件工具窗口。
删除AppWizard在对话框中生成的控件,即一个OK按钮、一个Cancel 按钮和一个文本框。
鼠标右击Dialog资源组中的IDD_PLAYER_DIALOG条目,在弹出的菜单中选择Insert…选项。
这时,显示Insert Resource(增加资源)窗口,选择其中的Menu项,单击右边的New按钮。
这样,VC++6.0在资源文件Player.rc中增加了一项资源,即一个菜单。
双击ID号:IDR_MENU1,则在右边显示一个可编辑的菜单条,该菜单条的最右边是一个虚方框,表示最右边的一个菜单项。
双击虚方框,弹出Menu Item Properties(菜单项属性)对话框,在“C编辑”框中输入菜单标题:文件(&F),其中“&”的作用是使其后面的字符加上下划线,让用户可用键盘来选择菜单。
摘要目前常见的多媒体软件应该说各有特色,但是几乎每一个都存在着不如人意的地方。
我的课题是“基于VC++开发工具的媒体播放器软件设计”,首先是初步介绍一些当前的媒体及媒体播放器,然后是详细介绍一个由本人设计的多媒体播放器———mediaplayer。
该播放器是基于MFC集成开发环境,利用系统的MCI(media controller interface)命令接口来编程,具有体积小,支持的播放格式多、系统资源占用少、支持播放列表编辑、支持各种视频格式等功能优势。
关键词媒体播放器;MCI;播放列表;音频;视频AbstractThe common multimedia software should have their characteristics, but almost each one there is no satisfactory manner. My topic is "based on VC + + development tools for media player software design", the first is an introduction to some of the current media and media player, then the detailed design of a multimedia player himself - mediaplayer. The player is based on MFC integrated development environment, using the system MCI (media controller interface) command interface to programming, is small,support multi-format playback, occupy less system resources to support the play list editing, support various video formats such as functional advantages.Keywordsmedia player; MCI; play list; audio; video目录一、引言1课题研究的目的和技术发展的现状1.1研究本课题的目的1.2技术应用的基本现状2论文完成的主要工作3本课题中的重点二、媒体格式简介.1什么是WMF SDK2 WMF SDK体系结构2.1 生成器结构2.2 读取器结构3 WMF SDK编程开发环境配置三、软件开发与设计.1操作方法2具体步骤四、系统测试1测试目的2测试环境3测试方法3.1白盒法3.2黑盒法4测试结果五、结束语参考文献基于VC++开发工具的媒体播放器软件设计一、引言多媒体技术的概念和应用出现于20世纪80年代初期,经过十余年的发展,随着计算机科学网络的普及和多媒体技术的发展,已成为计算机领域发展的热点技术,针对目前各种媒体格式,如何简单方便的播放各类媒体已成为人们普遍关注的问题,而媒体播放器的开发也变得十分重要。
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中。
2论文完成的主要工作根据学习研究,本媒体播放器的开发基于VC++MFC的对话框,利用Windows MCI(Media Control Interface)控件和VC++6.0自带的ActiveX控件――ActiveMovieControl Object来实现各类媒体格式的播放及程序界面处理。
首先确定要解决的问题是弄清楚MCI函数与命令消息的名称类型和功能;其次是通过分析媒体播放的具体过程,在打开媒体设备的过程中应用程序需要做哪些事情,以便在应用程序中加入对这些过程支持的代码;在对应用程序的流程有了大致的轮廓以后(最好画出流程图),在开始考虑程序框架的设计,应用程序外观的设计;最后也是最关键的就是编写实现播放媒体的代码将播放器的基本功能实现,紧接着就是程序的调试和完善3本课题中的重点本课题中的重点是对ActiveMovie控件的应用,Ac tiv eM ovie控件是微软公司推出的用于多媒休程序设计的控件它提供了非常完善的音频和视频媒体文件的回放功能,能支持多种文件格式,从最常见的WAV文件和AVI文件到使用MPEG压缩格式的VCD视频文件,都可以正常地进行播放。
控件能根据文件后缀进行自动判别设备类型,并完成相应的控制。
因此,若正在编写的应用程序需要提供多媒体支持,那么使用ActiveMovie 控件是一个很好的主意。
事实上,很多优秀的多媒体应用程序,其内部的多媒体回放就是利用ActiveMovie控件来实现只要精心地设计应用程序的用户界面,我们一样可以开发出功能齐全、外观漂亮、具有相当水准的多媒体播放器。
使用 A ctiveMovie控件开发多媒体应用程序可以大大提高多媒体开发效率,只要设置控件的Fil,.Name属性,确定该控件要打开的媒体文件名称,然后执行RUN方法就可以对该媒体文件进行播放;通过设置Selectio.End和SelectionSlart的值,可以实现播放某一段媒体流;还能用鼠标Click相应的按钮完成播放、停止、暂停、快进、快退等功能。
二、媒体格式简介.1什么是WMF SDKWMF SDK是微软Windows Media技术的重要组成部分,它基于COM技术,可以方便地开发具有高性能要求的多媒体应用程序。
对WMF SDK关键技术作了概括介绍,并给出了采用Visual C++编程语言开发视频播放器的软件实现过程。
WMF SDK采用了面向对象的设计,是一套完全基于COM组件模型的高级开发包。
它引入的生成器,读取器,器等对象屏蔽了ASF数据格式、传输控制等较为底层的流媒体技术实现细节,留下比较上层的编程接口给开发者使用。
2 WMF SDK体系结构Windows Media Format SDK 具有许多处理ASF 文件的功能,但其核心功能是读写文件。
2.1 生成器结构使用Windows Media Format SDK 构建的应用程序将源媒体样本传递给生成器。
生成器使用配置文件对象中指定的设置对文件进行编码。
配置文件对象定义已编码文件的格式,包括每个流的详细信息以及应如何处理流的信息。
大多数音频和视频流由一种Windows Media 编码解码器来处理。
但是,编码管理器首先用一种转换器来处理数据,为压缩做准备。
当样本可以放入文件时,先传递给多路复用器,多路复用器根据演示时间从所有流中隔行扫描样本并将数据打包。
多路复用器创建的位流被传送到一个接收器,接收器为最终目的地处理I/O,不管它是磁盘上的文件还是Internet 或其他网络广播。
2.2 读取器结构读取过程与数据写入过程基本上相同,不过顺序是相反的。
读取器连接到源,源可以是文件、网络连接或自定义源。
拆分器处理文件的数据部分,将数据分成单个流样本,然后将样本解压缩(如果启用了DRM 保护),并通过相应的Windows Media 编码解码器来处理。
默认情况下,读取器内部会自动选择合适的解码器对ASF流数据进行解压缩。
3 WMF SDK编程开发环境配置WMF SDK仅适合C/C++编程语言,开发平台可以是VC++6.0或Visual .本文介绍VC6.0的设置方法。
打开VC++6.0,选择菜单命令的Tools→Options,单击Directories,在Show directories for下拉菜单中选择Include files,然后将SDK的安装路径放在VC标准路径之前。
在开发应用程序项目时,对VC6.0 Debug版本还需要如下设置:选择菜单命令Project 中的settings,进入标签link,在Category下拉列表中选择General,把winmm.lib和wmvcore.lib文件添加到Object/library modules中,并选中Ignore all default libraries。
三、软件开发与设计1操作方法①用VC++6.0应用程序向导建立一个基于对话框的MFC程序,取名MediaPlayer,其它选项都基于默认设置。
②向对话框中添加控件,调整对话框布局。
③在Project菜单中选择Setting命令,选择Link选项卡,在Object/Library modules 输入winmm.lib,wmvcore.lib文件,这是编译使用MCI接口的多媒体程序所必须的。
④在编程时,要添加工程文件wmsdk.h。
wmsdk.h定义了SDK中的接口,常量,数据结构,枚举变量和GUID等。
⑤向该工程的各个成员函数添加代码。
主要有主程序类的初始化函数OnInitDialog(),功能按钮Open()(打开),OnPlay()(播放)、OnPause()(暂停)、OnStop()(停止)、和GetHeaderAttribute(),RetrieveAttributes()2具体步骤:①打开VC6.0,在Projects下选择MFC AppWizard(exe),并取名MediaPlayer,然后建立基于对话框(Dialog Based)的运用程序。