ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:253.90KB ,
资源ID:29660970      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29660970.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(多媒体播放器的设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

多媒体播放器的设计.docx

1、多媒体播放器的设计1 vb简介12多媒体播放器的开发设计22.1设计要求22.2设计方案22.3基本原理33设计方案的实现54程序代码55运行结果106心得体会137参考资料141 VB简介Visual 意为可视的、可见的,指的是开发像Windows操作系统的图形用户界面(Graphic User Interface,GUI)的方法,它与其他编程软件不同的是不需要编写大量代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应的位置即可。应该说,这是一次质的飞跃,是一次编程技术的革命。 Basic 实际上是一个短语的缩写,这个短语就是 Beginners All-Purpose

2、Symbolic Instruction Code ,其中文意思为“初学者通用符号指令代码”。 Visual Basic 6 有学习版、专业版和企业版三种版本,以满足不同的开发需要。学习版适用于普通学习者及大多数使用 Visual Basic 开发一般 Windows 应用程序的人员;专业版适用于计算机专业开发人员,包括了学习版的全部内容功能以及Internet控件开发工具之类的高级特性;企业版除包含专业版全部的内容外,还有自动化构件管理器等工具,使得专业编程人员能够开发功能强大的组骨子里分布式应用程序。 随着版本的提高,Visual Basic的功能也越来越强。自从5.0版,Visual B

3、asic 推出了中文版,与前个版本相比,其功能有了很大提升。 但是,功能再强大,Visual Basic 仍然有一个缺点:在没有MSVBVM*.DLL的计算机上必须安装所需的DLL文件(同样Visual C+在没有MSVCRT*.DLL情况下亦无法运行)。不过在Windows 2000之后,这个DLL就被预置到操作系统中了,一般来说,程序如果只使用了VB内部的控件和对象,基本上不会有太大的问题。 在21世纪初,Microsoft 公司推出 Visual Studio .NET 2003,它与 Visual Basic 之间有了重大变化,Visual Studio 为各种编程工具做了一个平台,V

4、isual Basic.NET 可在这种平台上运行。相对于传统VB,有很大的不同。VB .Net首次使用.Net构架进行可视化编程,并且能很好地与构架兼容,Visual Studio .NET 2003 应用 .NET Framework 1.1 。 2005年 Visual Studio 2005 则运用了 NET 2.0 的技术,更加的方便了程序员的工作。可是新的程序对系统配置要求也较高,需要微软.Net Framework 2.0以上的.Net构架支持。 2007年12月,微软(Microsoft)推出了Visual Studio 2008 Beta 2 发生了重大的变化(见附图)在代码

5、输入的时候,可以比VB2005快很多,在非特殊的情况下,VB2008都会自动开启 自动完成关键字 这个命令 而且支持最新的 .NET Framework 3.5 SP1 Beta 微软开发了一系列有关VB的脚本语言: Visual Basic for Applications,即VBA,包含在微软的应用程序中(比如Microsoft Office),以及类似WordPerfect Office这样第三方的产品里面。VBA这样嵌入在各种应用程序中看起来有些矛盾,但是它的功能和VB一样强大。 VBScript是ASP的默认语言,还可以用在Windows脚本编写(Shell Script)和网页编码

6、(HTML)中。尽管它的语法类似于VB,但是它却是一种完全不同的语言。VBS不使用VB运行库运行,而是由Windows脚本宿主(wscript.exe - Microsoft Windows Based Script Host)解释执行。这两种语言之中的不同点影响ASP的表现。 当微软准备开发一种新的编程工具的时候,第一决定就是利用最抢手的 VB6 来进行修改,或者就是重新组建工程开发新工具。微软后来开发了VB的继任者Visual Basic .NET,同时也是.NET平台的一部分。VB.NET编程语言是一种真正的面向对象编程语言(VB4-VB6 只能称为基于对象而不是面向对象,最明显的特征就

7、是 VB4-VB6 都不支持类的继承),和传统 Visual Basic 并不完全兼容。22多媒体播放器的开发设计2.1设计要求 内容: 多媒体播放器是根据计算机用户使用系统时的实际需求而开发,完全能够实现用户对计算机多媒体文件的查询和播放。要求: 根据多媒体播放器的要求,要求系统具有以下功能:选取多媒体文件;播放多媒体文件;停止播放多媒体文件;打开字幕功能;关闭字幕功能;打开CD驱动器功能;关闭CD驱动器功能;添加播放列表功能。2.2设计方案 Windows Media Player 控件(msdxm. ocx) 支持的文件类型比较丰富,可以播放WAV、MID、MP3 、WMA、AIF、AS

8、F、MPEG、MPG、AVI、MOV、DAT、RMI 等多媒体文件。在VB6. 0SP5 下利用这个控件实现自动连续循环播放以及启动时自动从上次退出时的文件处继续播放多媒体文件的技术。多媒体技术的基本工作原理是:多媒体终端通过不同接入层网络(固定NGN、移动NGN、Internet),接入传输层IP分组网络,在控制层IMS/SoftSwitch等SIP Proxy设备的控制下,通过业务层的逻辑控制实现多媒体业务及应用。其结构下图所示:图1多媒体结构图MPlayer是一款开源的多媒体播放器,以GNU通用公共许可证发布。此款软件可在各主流作业系统使用,例如Linux和其他类Unix作业系统、微软的

9、视窗系统及苹果电脑的Mac OS X系统。MPlayer是建基于命令行界面,在各作业系统可选择安装不同的图形界面。MPlayer是Linux 上的最强大的电影播放器(也能跑在许多其它Unixs上,甚至非x86CPU上)。如今它也有了在微软视窗操作系统和苹果Mac OS中的版本。它能使用众多的本地的,XAnim,RealPlayer,和Win32 DLL编解码器,播放大多数MPEG,VOB,AVI,OGG,VIVO,ASF/WMV,QT/MOV,FLI,RM,NuppelVideo,yuv4mpeg,FILM,RoQ文件。你还能观看VideoCD,SVCD,DVD,3ivx,RealMedia,

10、和DivX格式的电影(你根本不需要avifile库)。MPlayer的另一个大的特色是广泛的输出设备支持。它可以在X11,Xv,DGA, OpenGL,SVGAlib,fbdev,AAlib,DirectFB下工作,而且你也能使用GGI和SDL(由此可以使用他们支持的各种驱动模式) 和一些低级的硬件相关的驱动模式(比如Matrox,3Dfx和Radeon,Mach64,Permedia3)。他们大多数支持软件或者硬件缩放,因此能在全屏下观赏电影。MPlayer还支持通过硬件MPEG解码卡显示,诸如DVB 和DXR3与Hollywood+。可以使用European/ISO 8859-1,2(匈牙

11、利语,英语,捷克语等等),西里尔语,韩语的字体的清晰放大并且反锯齿的字幕(支持10种格式),和on screen display(OSD)。MPlayer是Linux 上一款非常优秀的电影播放器,能够播放大多数视频文件,如MPEG,VOB,AVI,OGG,VIVO,ASF/WMV,QT/MOV,FLI,RM,NuppelVideo,yuv4mpeg,FILM,RoQ等。而且它的另一个优点是可移植性好,现在常用的微软的Windows平台和苹果的Mac平台都有它的身影。不仅如此,Mplayer还可以移植到很多非X86的平台上。2.3基本原理MCI(媒体控制接口)是Microsoft公司为实现Win

12、dows系统下设备无关性而提供的媒体控制接口标准。用户可以方便地使用MCI控制标准的多媒体设备。 MCI包含在Windows多媒体扩展的MMSYSTEM模块中,用来协调事件间以及MCI设备驱动程序间的通讯,提供了与设备无关的接口属性。通常应用程序是通过指定一个MCI设备类型来区分MCI设备,设备类型指明了当前实际使用设备的物理类型,不同的设备类型使用不同的控件属性来进行描述(见附表1)。 从使用的控制方式上来说,MCI设备分为复合和简单两类。一个简单MCI设备并不需要设备元素。例如,CD音频和音碟机就是在一个已经安装好了的硬盘上工作的,它们不需要应用程序为其操作的媒体内容提供任何信息。但对于复

13、合的MCI设备,就需要应用程序提供设备元素,即一个包含全部路径名的源数据文件或目的文件。 Visual Basic语言的Custom Control(用户控制部件)概念体现了当今软件设计的发展潮流-面向对象技术,编程者可以在Visual Basic的工具箱(Toolbox)中嵌入各式各样五花八门的用户控件,每个用户控制部件都有一定的属性和操作方法,编程者通过属性的设置和方法的控制完成特定的功能。为了方便地控制多媒体,在专业版Visual Basic工具箱中提供了一个用于多媒体目的的用户控件-MCI.OCX。 多媒体MCI控件MCI.OCX专用于对多媒体控制接口MCI设备的多媒体数据文件实施记录

14、和回放,从目的效果上来说,该控件通过一组按钮来发出种种设备控制命令以实现对诸如:音频面板、MIDI音序器、CD-ROM驱动器、音频CD播放机、录像带播放、录音带录放等设备的控制。在Visual Basic程序设计时,当在表中加入多媒体MCI控件时(在工具箱内双击MCI控件),则出现下列按钮群:向前(Prev)、向后(Next)、播放(Play)、暂停(Pause)、返回(Back)、单步(Step)、停止(Stop)、记录(Record)和出带(Eject)。 应用程序对MCI的这组按钮操作非常灵活方便,如当我们打开一个MCI设备后,就可以根据该设备类型的属性随时从控件中选择合适的状态按钮来表

15、示即刻设备的物理状态。所有MCI控件可以有下列几种方式来编程:控件及其各按钮的可见性和使能性;可变或完全对控件进行重新定义;在一个窗口表格中可以同时控制多个设备。在Visual Basic3.0专业版中,多媒体控件MCI.OCX(在Visual Basic 3.0和4.0中,多媒体控件的扩展名为.VBX)是作为可选用部件提供的。为了使用它,首先要执行FileAdd File菜单命令,把Windowssystem目录下的MCI.OCX加入到工具箱(Toolbox)中,这时会在工具箱中出现相应的MCI.OCX图标。如果使用的是Visual Basic4.0版(或5.0版),选择oolsCustom

16、 Controls菜单或直接键入Ctrl+T,即可出现对话框,在Available Controls列表框中选中Microsoft Multimedia Controls条目旁边的检查框,同样会在工具箱中出现MCI.OCX图标。双击工具箱中的多媒体控件MCI.OCX图标,调用MCI.OCX控件之后,表单FORM中将出现一排灰色的媒体控制按钮(九个)。多媒体控件MCI.OCX包含有一组高级的与设备无关的控制命令。在使用该多媒体控件时,首先用OPEN命令打开MCI设备(多媒体设备)并建立一个与之对应的文件,以便来进行录或放等操作(但是对诸如CDAudio、VCR和录像带不能使用相应文件)。一旦设备

17、打开成功,就可以向它发出各种操作命令(见附表的按钮命令)来完成指定的工作任务。最后记住,要用Close命令来关闭设备和数据文件。使用MCI.OCX来进行多媒体应用程序开发是很方便的,因为大多数属性都是容易理解的,其中mand属性尤为重要,它是在运行过程中向多媒体设备发命令。格式为:Form.Mmcontrol.mandcmdstring$其中,cmdstring$变量是如下可执行命令名:Open、Close、Play、Pause、Stop、Back、Step、Prev、Next、Seek、Record、Eject、Sound和Save。一旦给其命令设置,它就立刻执行,所发生的错误存在Error

18、属性中。下面以播放DEMO.WAV(波形文件)文件为例,说明Visual Basic多媒体应用程序设计步骤。首先,创建一个包含有多媒体控件(MCI.OCX)的表格(Form),于是屏幕上显示出形状类似录音机的控制键,不过这时多媒体控制部件是不能马上拿来用的(各键呈灰色),须通过程序代码来改变键的状态。其次,在Form_Load过程中,插入相应程序代码。如下Sub Form_Load()在发出 OPEN 命令前要设置多媒体设备的属性Form1.MMControl1.Notify=FalseForm1.MMControl1.Wait=TrueForm1.MMControl1.Shareable=F

19、alseForm1.MMControl1.DeviceType=WaveAudioForm1.MMControl1.FileName=c:windowssMmdatademo.wavForm1.MMControl1.mand=OpenEnd Sub3 设计方案的实现 3.1 自动连续循环播放多个文件通过对通用对话框控件(DL G32. OCX) 的有关属性进行设置,可实现按选择的文件类型在列表框中显示符合条件的文件,用户可在该列表框中显示符合条件的文件,用户可在该列表框中选择一个文件,或选择连续或不连续的几个文件,若选择了多个文件,则按顺序连续循环播放。开始播放后,组合框和窗体的标题栏同时显示

20、正在播放文件的文件名。3.2 自动记忆播放目录和正在播放的文件的路径退出播放器时,程序自动将用户选择的目录保存到Windows 的注册表中,以便下次选择要播放的文件时,在打开对话框中,直接显示的是上次选择的目录。同时,自动将用户选择的文件清单保存到文件中,以便下次启动该程序时,可以直接从退出时正在播放的那个文件开始继续播放,这样就能实现每次启动播放器,首先播放的是上次退出时播放的那个文件。这样做就使程序具有了记忆功能。3.3 用户自定义播放顺序单击下一首按钮,开始播放下一个文件,单击上一首按钮,开始播放上一个文件。单击暂停按钮,则播放器暂停播放,同时暂停按钮变为开始按钮,单击开始按钮,播放器从

21、暂停处继续播放,同时开始按钮恢复为暂停按钮。单击组合框右边的下拉箭头,可以看到正在播放的文件列表,要想换一个文件播放,直接单击文件名即可。用户也可以直接打开播放列表文件,用文本编辑器编辑播放文件的顺序。4程序代码 4.1 界面布局设计新建一个窗体Forml , 在上面画一个组合框bol ,设置其Style 属性2 - DropdownList ,画五个命令按钮(打开、暂停、关闭、上一首、下一首) ,一个通用对话框(mon Dialog) 控件,一个媒体播放器(Windows Media Player) 控件。调整好控件在窗体中的位置。4.2 系统初始化Private Declare Funct

22、ion GetSystemDirectory LibKernel32AliasGetSystemDirectoryA(ByValpBufferAs String ,ByVal nSize As Long) As Long 返回Win2dows system 所在的文件夹Private WinSysPath As StringPrivate Select FName (1000)As StringPrivate SelectNum As Integer , Next Playing AsIntegerPrivate PreviousPath As String 此变量保存用户上次选择的目录,其值

23、保存在Windows 注册表中4.3 自动从上次退出时的文件处继续播放要实现此功能,可以在窗体的Load 事件中编写如下代码:Dim tmp1 As StringDim tmp2 As IntegerMediaPlayer1. AutoRewind = TrueMediaPlayer1. AutoStart = TrueMediaPlayer1. ShowStatusBar = TrueMediaPlayer1. ShowDisplay = TrueMediaPlayer1. AutoSize = Falsebo1. Locked = FalsePreviousPath = GetSettin

24、g ( MyPlayer,PlayMM,Last Path,NoData)以下代码将上次选择的多媒体文件(保存在WinSysPath 中) 读出来,放Select FName 数组中,并开始播放tmp1 = Space (260)tmp2 = GetSystemDirectory(tmp1 ,Len (tmp1) )WinSysPath = Left (tmp1 ,tmp2)WinSysPath = WingSysPath + Inventory. txtInventory. txt 文件保存正在播放文件的列表。On Error GoTo ErrhandlerSelectNum = 0Next

25、 Playing = - 1Open WinSysPath For Input As # 1Do While Not EOF(1)Line Input # 1 ,Select FName (SelectNum) boL. Addltem Mid ( Select FName ( Select2Num) , InStrR ev (Select FName (SelectNum) , N) +1)SelectNum = SelectNum + 1LoopClose # 1MediaPlayerl EndOfStream (0 &)Errhandler :If bol. ListCount = 0

26、ThenInventory. txt 文件不存在或播放列表为空bol. List (0) =“没有可选项目”End Ifbol. Listlndex = 04.4 选择播放序列Private Sub mand1 Click ()Dim FName As StringDim i As Integer , j As IntegerDim ThePath As StringDim tmp As StringmonDialog1. CancelError = TrueOn Error GoTo Errhandler允许多选,所有选择的文件名之间用空格分隔,保存在FileName 中monDialogl

27、. Flags = cdlOFNAllowMultiselectmonDialogl. InitDir = IIf ( PreviousPath =o2Data, C: WINDOWS,PreviousPath)monDialogl. Filter =3 . mpeg| 3 . mpeg| 3 .mpg| 3 . mpg| 3 . avi| 3 3 . AVI| 3 . wav| 3 . WAV|3 . mid| 3 . MID| 3 . mp3 | 3 . MP3 | 3 . mov| 3 .MOV| 3 . dat| 3 . DAT| 3 . RMI| 3 . rmi| 3 . 3 | 3

28、 .3 monDialogl. MaxFileSize = 32767 当同时选择许多文件时默认的260 放不下,故要大点,这是最大的值monDialog1. ShowOpenFName = monDialogl. FileName下面代码将选择的若干文件名分开,放在数组Select FName 中If InStr (FName , Chr (32) ) = 0 Then若只选择一个文件, FName 中没有空格,否则文件名之间用空格分隔,若文件在根日录,则路径形如E: ,否则形如E: abc 123SelectNum = 1Select FName (0) = FNameThePath =

29、Left ( Fname , InStrRev ( Fname , )- 1)ElseThePath = Left ( FName , InStr ( FName , Chr(32) ) - 1) + FName = Mid(Fname , InStr (Fname ,Chr (32) ) +1) SelectNum = 0J = 1tmp = Space (0)For i = 1 To Len (FName)IfMid(FName , i ,1) = Chr (32) ThenSelect FName (SelectNum) = ThePath + tmpSelectNum = Select

30、Num + 1tmp = Space (0)Elsetmp = tmp + Mid(FName ,i ,1)End IfNext iSelect FName (SelectNum) = ThePath + tmpSelectNum = SelectNum + 1End If分隔结束bol. ClearFor i = 0 To SelectNum - 1 此循环将选中的文件显示在组合框中bol. Addltem Mid ( Select FName (i) , In2StrRev(Select FName (i) , ) + 1)Next ibol. Listlndex = 0Next Playing = 0Me. Caption = bol . TextMediaPlayerl . FileName = Select FName (0)SaveSettingMyPlayer,PlayMM,Last Path,ThePathErrhandler :End Sub4.5 暂停播放Private Sub mand2 Click ()If mand2. Caption =“暂停”Thenmand2. C

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1