1利用VB实现多媒体播放器实验计划学时:6学时实验性质:验证性一、实验目的1.通过实验学习多媒体技术有关知识,增进对多媒体技术的认识和体会。2.掌握VB处理中经常用到的基本概念和名词。3.学习使用VB编写多媒体播放器。。二、实验内容和要求1.掌握VB中需要经常接触的基本概念。2.练习使用VB,尝试它的各项功能。要求掌握基本处理功能,学会使用控件制作播放器。三、实验环境(硬件环境和软件环境)1.带有声卡、麦克风、音箱或耳机的多媒体计算机。2.WindowsXP以上操作系统。3.工具软件VB。四、实验报告要求实验报告应包括实验名称、实验目的、实验内容、实验环境、操作方法和实验步骤、实验数据记录和处理、实验结果分析、体会质疑建议。具体请参阅实验报告模板。五、操作方法与实验步骤参阅下面实验指导进行实验,请学员各自写下操作方法与实验步骤。2(注意不要全抄下来,以各自理解的写,如何出现一样的报告,将给予0分处理)六、实验讲义实验1API_音频播放器本节主要介绍了利用API函数制作WAV音频播放器,首先来介绍一下PlaySound()函数。它的声明形式如下所示:PrivateDeclareFunctionPlaySoundLibwinmm.dllAliasPlaySoundA(ByVallpszNameAsString,ByValhModuleAsInteger,ByValdwFlagsAsInteger)AsInteger字符串lpszName为声音文件的全名。长整型hModule为程序模块的句柄,通常设置为0。长整型dwFlags标志设置,在使用文件名时设置为&20000。•添加控件新建一个项目,在项目里添加windows窗体“form1”,把它的“Text”属性改为“API_音频播放”。在“form1”上添加一个DriveListBox控件做为驱动器列表框,一个DirListBox控件做为目录列表框,一个FileListBox控件做为文件列表框,一个Button控件做为命令按钮,五个Label控件做为标识。把Label1的Text属性改成“驱动器”来标识DriveListBox控件,把Label2的Text属性改成“目录”来标识DirListBox控件,把Label3的Text属性改成“文件”来标识FileListBox控件,再把FileListBox控件的Pattern属性设置为*.WAV,这样就能过滤掉其他类型的文件,Label4的Text属性改成“所选的声音文件全名”,Label5的Text属性显示声音文件的完全路径。把Button的Text属性改成“播放”。3参见图1图1•添加代码双击DriveListBox1控件后进入代码编辑窗口,首先添加如下所示的程序声明代码:OptionStrictOffOptionExplicitOnFriendClassForm1InheritsSystem.Windows.Forms.Form'播放声音的API函数4PrivateDeclareFunctionPlaySoundLibwinmm.dllAliasPlaySoundA(ByVallpszNameAsString,ByValhModuleAsInteger,ByValdwFlagsAsInteger)AsIntegerDimstrSoundAsString函数声明在“PrivateSubDriveListBox1_SelectedIndexChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesDriveListBox1.SelectedIndexChanged”与“EndSub”之间添加代码:'驱动器改变DirListBox1.Path=DriveListBox1.Drive双击DirListBox1控件,添加代码:'目录改变FileListBox1.Path=DirListBox1.Path双击FileListBox1控件,添加代码:'文件改变strSound=DirListBox1.Path&\&FileListBox1.FileName双击Label5控件,添加代码:strSound=DirListBox1.Path+\+FileListBox1.FileNameLabel5.Text=strSound双击Button1控件,添加代码:'播放音频文件DimlngRetAsInteger5IfstrSound=Then'不选择声音文件直接播放lngRet=PlaySound(c:\Windows\Media\TheMicrosoftSound,0,&H20000)Else'选择声音文件后播放lngRet=PlaySound(strSound,0,&H20000)EndIf在“PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load”与“EndSub”之间添加代码:'为文件名赋初值strSound=3.运行完成所有的代码书写后,保存文件并运行程序。运行后的程序大致如图2所示,6图2各个框框里的内容也许因人而异,但结构差不多相同,如果不选择文件,直接单击“播放”,则播放的我们所熟悉的Windows98启动的声音。当然你也可以选择自己喜欢的音乐文件进行播放,但是文件名必须是*.WAV。实验2MP3播放器1.添加控件新建一个Windows应用程序,把Form1的“Text”属性改为“MP3Player”。7添加一个MainMenu控件,选中控件MainMenu1,点击鼠标右键,在弹出的菜单里选择“编辑菜单”进入菜单编辑窗口,如图:选中MenuItem1,点击鼠标右键,选择“新插入”,共插入4个MenuItem,它的属性如下表:控件类别控件名称属性设置结果MainMenuMenuItem1Text文件MenuItem2Text打开文件MenuItem3Text清除列表MenuItem4Text退出添加一个ListBox控件,把Name属性改为“List”,用于显示曲目列表。添加3个Button控件,它们的属性如下表:控件类别控件名称属性设置结果ButtonButton1Text播放Button2Text暂停Button3Text停止添加一个OpenFileDialog控件,用于显示打开对话框。添加一个MMControl控件,把Visible属性设置为“False”,这样就把MMControl控件隐藏了。MMControl控件通常不在“工具栏”里,可以通过点击菜单栏上的“工具”→“添加/移除工具箱项”,在COM组件里找到“MicrosoftMultimediaControl”项,选中然后确定即可。如图:8添加控件完毕后的界面如图:9•添加代码双击“打开文件”菜单,添加如下代码:DimpathNames()AsString'定义多选文件路径DimsFileAsString'定义选取的文件路径DimflagAsBoolean=False'判断用户双击的区域是否在列表项上PrivateSubMenuItem2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMenuItem2.ClickWithMe.OpenFileDialog1.Title=打开音乐文件.Multiselect=True.Filter=音乐文件(*.mp3)|*.mp3|(*.mid)|*.mid.ShowDialog()pathNames=.FileNamesEndWithDimpathAsStringForEachpathInpathNamesMe.List.Items.Add(path)10Next'添加文件路径到播放列表中EndSub双击“清除列表”菜单,添加如下代码:PrivateSubMenuItem3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMenuItem3.ClickMe.List.Items.Clear()EndSub双击“退出”菜单,添加如下代码:PrivateSubMenuItem4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMenuItem4.ClickMe.MCIControl.Command=StopMe.MCIControl.Command=CloseMe.Close()EndSub双击ListBox控件,在代码编辑窗口的右上的下拉菜单中,选择“DoubleClick”,如图:11添加如下代码:PrivateSubList_DoubleClick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesList.DoubleClickflag=Trueflag=TrueOnErrorResumeNextMe.MCIControl.Command=StopMe.MCIControl.Command=ClosesFile=Me.List.SelectedItemMe.MCIControl.FileName=sFileMe.MCIControl.Command=Open12Me.MCIControl.Command=PlayEndSub双击“播放”按钮,添加如下代码:PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickMe.MCIControl.Command=PlayEndSub双击“暂停”按钮,添加如下代码:PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickMe.MCIControl.Command=PauseEndSub双击“停止”按钮,添加如下代码:PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.ClickMe.MCIControl.Command=StopMe.MCIControl.Command=PrevMe.MCIControl.Command=StopEndSub13•运行完成代码后,保存文件,并按F5调试运行,打开音乐文件(*.mp3),可以同时打开多个文件,在列表框将出现所选择的文件列表,双击任意一首歌曲,就能进行播放,运行结果如图所示:14实验3CD播放器1.添加控件新建一个Windows应用程序,把Form1的“Text”属性改为“CDPlayer”。添加一个MainMenu控件,选中控件MainMenu1,点击鼠标右键,在弹出的菜单里选择“编辑菜单”进入菜单编辑窗口,如图:选中MenuItem1,点击鼠标右键,选择“新插入”,共插入4个MenuItem,它的属性如下表:控件类别控件名称属性设置结果MainMenuMenuItem1Text唱片MenuItem2Text载入MenuItem3Text弹出MenuItem4Text退出添加一个ListBox控件,把Name属性改为“Tracks”。添加一个StatusBar控件,把ShowPanels属性设为“True”,再添加两个StatusBarPanel,并讲它们的Alignment属性都改为“Center”,AutoSize属性都改为“Spring”。添加一个Timer控件,把Interval属性设为“1000”,Enable属性设为“True”。