品质广告传媒利用VB实现多媒体播放器.docx
《品质广告传媒利用VB实现多媒体播放器.docx》由会员分享,可在线阅读,更多相关《品质广告传媒利用VB实现多媒体播放器.docx(28页珍藏版)》请在冰点文库上搜索。
品质广告传媒利用VB实现多媒体播放器
(广告传媒)利用VB实现多媒体播放器
(注意不要全抄下来,以各自理解的写,如何出现一样的报告,将给予0分处理)
六、实验讲义
实验1API_音频播放器
本节主要介绍了利用API函数制作WAV音频播放器,首先来介绍一下PlaySound()函数。
它的声明形式如下所示:
PrivateDeclareFunctionPlaySoundLib""Alias"PlaySoundA"(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属性改成“播放”。
参见图1
图1
•添加代码
双击DriveListBox1控件后进入代码编辑窗口,首先添加如下所示的程序声明代码:
OptionStrictOff
OptionExplicitOn
FriendClassForm1
Inherits.
'播放声音的API函数
PrivateDeclareFunctionPlaySoundLib""Alias"PlaySoundA"(ByVallpszNameAsString,ByValhModuleAsInteger,ByValdwFlagsAsInteger)AsInteger
DimstrSoundAsString
函数声明
在“PrivateSubDriveListBox1_SelectedIndexChanged(ByValsenderAs,ByValeAs)HandlesDriveListBox1.SelectedIndexChanged”与“EndSub”之间添加代码:
'驱动器改变
DirListBox1.Path=DriveListBox1.Drive
双击DirListBox1控件,添加代码:
'目录改变
FileListBox1.Path=DirListBox1.Path
双击FileListBox1控件,添加代码:
'文件改变
strSound=DirListBox1.Path&"\"&FileListBox1.FileName
双击Label5控件,添加代码:
strSound=DirListBox1.Path+"\"+FileListBox1.FileName
Label5.Text=strSound
双击Button1控件,添加代码:
'播放音频文件
DimlngRetAsInteger
IfstrSound=""Then'不选择声音文件直接播放
lngRet=PlaySound("c:
\Windows\Media\TheMicrosoftSound",0,&H20000)
Else'选择声音文件后播放
lngRet=PlaySound(strSound,0,&H20000)
EndIf
在“PrivateSubForm1_Load(ByValsenderAs,ByValeAs)HandlesMyBase.Load”与“EndSub”之间添加代码:
'为文件名赋初值
strSound=""
3.运行
完成所有的代码书写后,保存文件并运行程序。
运行后的程序大致如图2所示,
图2
各个框框里的内容也许因人而异,但结构差不多相同,如果不选择文件,直接单击“播放”,则播放的我们所熟悉的Windows98启动的声音。
当然你也可以选择自己喜欢的音乐文件进行播放,但是文件名必须是*.WAV。
实验2MP3播放器
1.添加控件
新建一个Windows应用程序,把Form1的“Text”属性改为“MP3Player”。
添加一个MainMenu控件,选中控件MainMenu1,点击鼠标右键,在弹出的菜单里选择“编辑菜单”进入菜单编辑窗口,如图:
选中MenuItem1,点击鼠标右键,选择“新插入”,共插入4个MenuItem,它的属性如下表:
控件类别
控件名称
属性
设置结果
MainMenu
MenuItem1
Text
文件
MenuItem2
Text
打开文件
MenuItem3
Text
清除列表
MenuItem4
Text
退出
添加一个ListBox控件,把Name属性改为“List”,用于显示曲目列表。
添加3个Button控件,它们的属性如下表:
控件类别
控件名称
属性
设置结果
Button
Button1
Text
播放
Button2
Text
暂停
Button3
Text
停止
添加一个OpenFileDialog控件,用于显示打开对话框。
添加一个MMControl控件,把Visible属性设置为“False”,这样就把MMControl控件隐藏了。
MMControl控件通常不在“工具栏”里,可以通过点击菜单栏上的“工具”→“添加/移除工具箱项”,在COM组件里找到“MicrosoftMultimediaControl”项,选中然后确定即可。
如图:
添加控件完毕后的界面如图:
•添加代码
双击“打开文件”菜单,添加如下代码:
DimpathNames()AsString
'定义多选文件路径
DimsFileAsString
'定义选取的文件路径
DimflagAsBoolean=False
'判断用户双击的区域是否在列表项上
PrivateSubMenuItem2_Click(ByValsenderAs,ByValeAs)HandlesMenuItem2.Click
WithMe.OpenFileDialog1
.Title="打开音乐文件"
.Multiselect=True
.Filter="音乐文件(*.mp3)|*.mp3|(*.mid)|*.mid"
.ShowDialog()
pathNames=.FileNames
EndWith
DimpathAsString
ForEachpathInpathNames
Me..Add(path)
Next
'添加文件路径到播放列表中
EndSub
双击“清除列表”菜单,添加如下代码:
PrivateSubMenuItem3_Click(ByValsenderAs,ByValeAs)HandlesMenuItem3.Click
Me..Clear()
EndSub
双击“退出”菜单,添加如下代码:
PrivateSubMenuItem4_Click(ByValsenderAs,ByValeAs)HandlesMenuItem4.Click
Me.="Stop"
Me.="Close"
Me.Close()
EndSub
双击ListBox控件,在代码编辑窗口的右上的下拉菜单中,选择“DoubleClick”,如图:
添加如下代码:
PrivateSubList_DoubleClick(ByValsenderAsObject,ByValeAs)Handles
flag=True
flag=True
OnErrorResumeNext
Me.="Stop"
Me.="Close"
sFile=Me.
Me.=sFile
Me.="Open"
Me.="Play"
EndSub
双击“播放”按钮,添加如下代码:
PrivateSubButton1_Click(ByValsenderAs,ByValeAs)HandlesButton1.Click
Me.="Play"
EndSub
双击“暂停”按钮,添加如下代码:
PrivateSubButton2_Click(ByValsenderAs,ByValeAs)HandlesButton2.Click
Me.="Pause"
EndSub
双击“停止”按钮,添加如下代码:
PrivateSubButton3_Click(ByValsenderAs,ByValeAs)HandlesButton3.Click
Me.="Stop"
Me.="Prev"
Me.="Stop"
EndSub
•运行
完成代码后,保存文件,并按F5调试运行,打开音乐文件(*.mp3),可以同时打开多个文件,在列表框将出现所选择的文件列表,双击任意一首歌曲,就能进行播放,运行结果如图所示:
实验3CD播放器
1.添加控件
新建一个Windows应用程序,把Form1的“Text”属性改为“CDPlayer”。
添加一个MainMenu控件,选中控件MainMenu1,点击鼠标右键,在弹出的菜单里选择“编辑菜单”进入菜单编辑窗口,如图:
选中MenuItem1,点击鼠标右键,选择“新插入”,共插入4个MenuItem,它的属性如下表:
控件类别
控件名称
属性
设置结果
MainMenu
MenuItem1
Text
唱片
MenuItem2
Text
载入
MenuItem3
Text
弹出
MenuItem4
Text
退出
添加一个ListBox控件,把Name属性改为“Tracks”。
添加一个StatusBar控件,把ShowPanels属性设为“True”,再添加两个StatusBarPanel,并讲它们的Alignment属性都改为“Center”,AutoSize属性都改为“Spring”。
添加一个Timer控件,把Interval属性设为“1000”,Enable属性设为“True”。
添加一个MMControl控件,把Name属性改为“MCIControl”,所有按钮的Enable属性都设为“True”。
可通过如下的方法设置按钮的属性:
选中Form1上的MMControl控件,点击鼠标右键,在弹出的菜单里选择“ActiveX–属性”,点击“控件”选项,然后把所有控件的“*有效”选项都选中如图:
如果你在“工具栏”里找不到MMControl控件,可以通过点击菜单栏上的“工具”→“添加/移除工具箱项”,在COM组件里找到“MicrosoftMultimediaControl”项,选中然后确定即可。
如图:
添加控件完毕后的界面如图:
•添加代码
双击ListBox控件,添加如下代码:
PrivateSubTracks_SelectedIndexChanged(ByValsenderAs,ByValeAs)Handles
flag=True
EndSub
在代码编辑窗口的右上下拉菜单中,选择DoubleClick,如图:
然后添加如下代码:
PrivateSubTracks_DoubleClick(ByValsenderAsObject,ByValeAs)Handles
'实现双机更改曲目功能
Try
IfMe.>=0Andflag=TrueThen
flag=False
Me.="Stop"
Me.=Me.+1
Me.=Me.
Me.="Play"
EndIf
CatchexAsException
EndTry
EndSub
双击“载入”控件,添加如下代码:
PrivateSubMenuItem2_Click(ByValsenderAs,ByValeAs)HandlesMenuItem2.Click
DimiAsInteger
Try
Me.="Open"
'选取豪秒作为时间单位
Me.=0
Me.=1
'从第1首的开始位置起播放
Me.=Me.
IfThen
("CDERROR")
ExitSub
EndIf
Me.=True
'将所有曲目列于表中
Fori=1To
.Add("track"&i)
Next
If.Count>0Then
Me.=0
Else
("CDERROR")
ExitSub
EndIf
CatchexAsException
("CDERROR")
ExitSub
EndTry
Timer1.Enabled=True
Me.="Play"
EndSub
双击“弹出”控件,添加如下代码:
PrivateSubMenuItem3_Click(ByValsenderAs,ByValeAs)HandlesMenuItem3.Click
Me.="Eject"
EndSub
双击“退出”控件,添加如下代码:
PrivateSubMenuItem4_Click(ByValsenderAs,ByValeAs)HandlesMenuItem4.Click
Me.Close()
EndSub
双击MMControl控件,选择“StatusUpdate”添加如下代码:
PrivateSubMCIControl_StatusUpdate(ByValsenderAsObject,ByValeAs)Handles
IfMe.=526Then
Timer1.Enabled=True
Else
Timer1.Enabled=False
EndIf
EndSub
双击Timer控件,添加如下代码:
PrivateSubTimer1_Tick(ByValsenderAs,ByValeAs)HandlesTimer1.Tick
'更新状态栏
Me.StatusBarPanel1.Text="CD共有曲目"&Me.&"首"
Me.StatusBarPanel2.Text="现在正在播放第"&Me.&"首"
EndSub
双击Form窗体,进入代码编辑界面,添加如下代码:
'判断用户双击的区域是否在列表项上
DimflagAsBoolean=False
PrivateSubForm1_Load(ByValsenderAs,ByValeAs)HandlesMyBase.Load
Me.FormBorderStyle=..FixedSingle
Me.MaximizeBox=False
=False
=False
'设置设备类型
="CDAudio"
Me.StatusBarPanel1.Text="等待"
Me.StatusBarPanel2.Text="请放入CD并加载"
EndSub
然后在代码编辑窗口的右上下拉菜单中,选择“Closing”,添加如下代码:
PrivateSubForm1_Closing(ByValsenderAsObject,ByValeAs.CancelEventArgs)HandlesMyBase.Closing
="Stop"
="Close'"
EndSub
•运行
完成代码后,保存文件,并按F5调试运行,放入一张CD到CDROM中,运行的结果如图:
实验4视频播放器
在这一例中,我们将利用MCI控件制作一个播放视频文件的程序,程序具备以下功能:
·具有播放视频文件的能力。
·选择并打开将播放的文件。
·播放文件,具备Play(播放)、Stop(停止)等常见的播放功能。
·有进度条指示目前的播放进度。
·具备被循环播放功能。
·具备静音功能。
1.添加控件
新建一个Windows应用程序,把Form1的“Text”属性改为“MediaPlayer”。
添加一个MainMenu控件,选中控件MainMenu1,点击鼠标右键,在弹出的菜单里选择“编辑菜单”进入菜单编辑窗口,如图:
选中MenuItem1,点击鼠标右键,选择“新插入”,共插入3个MenuItem,它的属性如下表:
控件类别
控件名称
属性
设置结果
MainMenu
MenuItem1
Text
文件
MenuItem2
Text
打开
MenuItem3
Text
退出
添加一个PictureBox控件,把Name属性改为“Picture1”,用于显示播放的画面。
添加一个MMControl控件,用于实现播放的各种功能。
把Name属性改为“MCIControl”,所有按钮的Enable属性都设为“True”。
可通过如下的方法设置按钮的属性:
选中Form1上的MMControl控件,点击鼠标右键,在弹出的菜单里选择“ActiveX–属性”,点击“控件”选项,然后把需要用到的控件设置为“可视”,其它设置为“隐藏”,如图所示:
添加一个TrackBar控件,用于控制和指示播放的进度。
添加一个CheckBox控件,Name属性为“CheckBox1”,把Text属性改为“静音”,用于实现静音功能。
添加一个CheckBox控件,Name属性为“CheckBox2”,把Text属性改为“循环”,用于实现循环播放的功能。
添加一个OpenFileDialog控件,用于显示打开对话框。
MMControl控件通常不在“工具栏”里,可以通过点击菜单栏上的“工具”→“添加/移除工具箱项”,在COM组件里找到“MicrosoftMultimediaControl”项,选中然后确定即可。
如图:
添加控件完毕后的界面如图:
•添加代码
双击“打开”菜单,添加如下代码:
DimFileNameAsString
PrivateSubMenuItem2_Click(ByValsenderAs,ByValeAs)HandlesMenuItem2.Click
WithMe.OpenFileDialog1
.Title="打开视频文件"
.Filter="视频文件(*.avi)|*.avi|(*.mpg)|*.mpg|(*.mpeg)|*.mpeg"
.ShowDialog()
FileName=.FileName
EndWith
IfFileName<>""Then
Me.=True
Me.=FileName
Me.=Me.Picture1.
Me.="Open"
Me.TrackBar1.Minimum=0
Me.TrackBar1.Maximum=Me.
Else
MsgBox("请选择文件")
EndIf
EndSub
双击“退出”菜单,添加如下代码:
PrivateSubMenuItem3_Click(ByValsenderAs,ByValeAs)HandlesMenuItem3.Click
Me.="Stop"
Me.="Close"
Me.Close()
EndSub
双击MMControl控件,在代码编辑窗口的右上的下拉菜单中,选择“StatusUpdate”,如图:
添加如下代码
PrivateSubMCIControl_StatusUpdate(ByValsenderAsObject,ByValeAs)Handles
IfMe.CheckBox1.CheckedThen
'如果复选了"静音"框
Me.=True
'无声播放
Else
Me.=False
'正常播放
EndIf
Me.TrackBar1.Value=Me.
EndSub
在代码编辑窗口的右上的下拉菜单中,选择“Done”,添加如下代码:
PrivateSubMCIControl_Done(ByValsenderAsObject,ByValeAs_DoneEvent)Handles
IfMe.=Me.Then
'如果到了文件末尾
Me.="prev"
Me.="Stop"
'返回文件头
IfMe.CheckBox2.CheckedThen
Me.="play"
'如果复选了“循环”框,开始重新播放
EndIf
EndIf
EndSub
在代码编辑窗口的右上的下拉菜单中,选择“StopClick”,添加如下代码:
PrivateSubMCIControl_StopClick(ByValsenderAsObject,ByValeAs_StopClickEvent)Handles
Me.="Stop"
Me.="Prev"
Me.="Stop"
EndSub
EndClass
双击TrackBar控件,添加如下代码:
PrivateSubTrackBar1_Scroll(ByValsenderAs,ByValeAs)HandlesTrackBar1.Scroll
IfMe.=TrueThen
Me.=Me.TrackBar1.Value'响应进度条的拖动
EndIf
EndSub
•运行
完成代码后,保存文件,并按F5调试运行,打开一个视频文件(*.avi,*.mpg,*.mpeg),在“文件类型”的下拉菜单中,可以选择不同的文件类型,运行的结果如图:
实验5Flash动画播放器
本例介绍如何使用ShockWaveFlash控件来制作Flash动画播放器的。
首先将ShockWaveFlash控件的命令、属性、和事件简单介绍如下
·Play:
播放。
·Stop:
停止播放。
·StopPlay:
停止播放当前的播放文件,以能播放新的动画。
·Movie属性:
设置播放的文件路径。
·Loop属性:
设置该属性为Ture,表示循环播放。
·CurrentFrame属性:
当前帧。
·TotalFrames属性:
动画总的帧数。
1.添加控件
新建一个Windows应用程序,把Form1的“Text”属性改为“FlashPlayer”。
在Form1上添加一个GroupBox控件,将它的Dock属性设置为“Bottom”。
添加一个MainMenu控件,选中控件MainMenu1,点击鼠标右键,在弹出的菜单里选择“编辑菜单”进入菜单编辑窗口,如图:
点击鼠标右键,选择“新插入”,共插入9个MenuItem,它的属性如下表
控件类别
控件名称
属性
设置结果
MainMenu
MenuItem1
Text
文件
MenuItem2
Text
打开文件
MenuItem3
Text
播放列表
MenuItem4
Text
-
MenuItem5
Text
退出程序
MenuItem6
Text
控制
MenuItem7
Text
继续播放
MenuItem8
Text
暂停播放
MenuItem9
Text
添加一个OpenFileDialog控件。
添加一个Timer控件,把Interval属性改为“100”。
添加一个TrackBar控件。
添加一个Label控件,把Text属性改为“播放状态显示”。
添加一个AxShockwaveFlash控件,把Dock属性改为“Fill”,把BackgroundCol