利用VB实现多媒体播放器.docx
- 文档编号:23330144
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:135
- 大小:3.94MB
利用VB实现多媒体播放器.docx
《利用VB实现多媒体播放器.docx》由会员分享,可在线阅读,更多相关《利用VB实现多媒体播放器.docx(135页珍藏版)》请在冰豆网上搜索。
利用VB实现多媒体播放器
利用 VB 实现多媒体播放器
利用 VB 实现多媒体播放器
实验计划学时:
6 学时
实验性质:
验证性
一、实验目的
1.
2.
3.
通过实验学习多媒体技术有关知识,增
进对多媒体技术的认识和体会。
掌握 VB 处理中经常用到的基本概念和
名词。
学习使用 VB 编写多媒体播放器。
。
二、实验内容和要求
1. 掌握 VB 中需要经常接触的基本概念。
2. 练习使用 VB,尝试它的各项功能。
要
求掌握基本处理功能,学会使用控件制
作播放器。
三、实验环境(硬件环境和软件环境)
1. 带有声卡、麦克风、音箱或耳机的多媒
体计算机。
2. Windows XP 以上操作系统。
2
3. 工具软件 VB。
四、实验报告要求
实验报告应包括实验名称、实验目的、实
验内容、实验环境、操作方法和实验步骤、
实验数据记录和处理、实验结果分析、体
会质疑建议。
具体请参阅实验报告模板。
五、操作方法与实验步骤
参阅下面实验指导进行实验,请学员各自
写下操作方法与实验步骤。
(注意不要全抄下来,以各自理解的写,
如何出现一样的报告,将给予 0 分处理)
六、实验讲义
实验 1API_ 音频播放器
本节主要介绍了利用 API 函数制作 WAV
音频播放器,首先来介绍一下
3
PlaySound() 函数。
它的声明形式如下所
示:
Private Declare Function PlaySound
Lib "winmm.dll" Alias
"PlaySoundA"( ByVal lpszName As
String , ByVal hModule As Integer ,
ByVal dwFlags As Integer ) As Integer
字符串 lpszName 为声音文件的全名。
长整型 hModule 为程序模块的句柄,通
常设置为 0 。
长整型 dwFlags 标志设置,在使用文件
名时设置为 &20000 。
•添加控件
4
新建一个项目,在项目里添加 windows
窗体“ form1 ”,把它的“ Text ”属
性改为“ API_ 音频播放”。
在“ form1 ”上添加一个 DriveListBox
控件做为驱动器列表框,一个
DirListBox 控件做为目录列表框,一个
FileListBox 控件做为文件列表框,一个
Button 控件做为命令按钮,五个 Label
控件做为标识。
把 Label1 的 Text 属性改成“驱动
器”来标识 DriveListBox 控件,把
Label2 的 Text 属性改成“目录”来标
识 DirListBox 控件,把 Label3 的
Text 属性改成“文件”来标识
FileListBox 控件,再把 FileListBox
控件的 Pattern 属性设置为 *.WAV ,这
样就能过滤掉其他类型的文件, Label4
的 Text 属性改成“所选的声音文件全
5
名”, Label5 的 Text 属性显示声音文
件的完全路径。
把 Button 的 Text 属性
改成“播放”。
参见图 1
图 1
•添加代码
6
双击 DriveListBox1 控件后进入代码编
辑窗口,首先添加如下所示的程序声明代
码:
Option Strict Off
Option Explicit On
Friend Class Form1
Inherits System.Windows.Forms.Form
' 播放声音的 API 函数
Private Declare Function PlaySound
Lib "winmm.dll" Alias "PlaySoundA"
( ByVal lpszName As String , ByVal
hModule As Integer , ByVal dwFlags As
Integer ) As Integer
Dim strSound As String
7
函数声明
在“ Private Sub
DriveListBox1_SelectedIndexChanged(
ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
DriveListBox1.SelectedIndexChanged
”与“ End Sub ”之间添加代码:
' 驱动器改变
DirListBox1.Path =
DriveListBox1.Drive
双击 DirListBox1 控件,添加代码:
' 目录改变
FileListBox1.Path = DirListBox1.Path
双击 FileListBox1 控件,添加代码:
' 文件改变
8
strSound = DirListBox1.Path & "\" &
FileListBox1.FileName
双击 Label5 控件,添加代码:
strSound = DirListBox1.Path + "\" +
FileListBox1.FileName
Label5.Text = strSound
双击 Button1 控件,添加代码:
' 播放音频文件
Dim lngRet As Integer
If strSound = " " Then ' 不选择声音
文件直接播放
lngRet =
PlaySound("c:
\Windows\Media\The
Microsoft Sound", 0, &H20000)
Else ' 选择声音文件后播放
9
lngRet = PlaySound(strSound, 0,
&H20000)
End If
在“ Private Sub Form1_Load( ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles
MyBase .Load ” 与 “ End Sub ” 之
间添加代码 :
' 为文件名赋初值
strSound = " "
3. 运行
完成所有的代码书写后,保存文件并运行
程序。
运行后的程序大致如图 2 所示,
10
图 2
各个框框里的内容也许因人而异,但结构
差不多相同,如果不选择文件,直接单击
“播放”,则播放的我们所熟悉的
Windows98 启动的声音。
当然你也可以选
择自己喜欢的音乐文件进行播放,但是文
件名必须是 *.WAV 。
11
实验 2MP3 播放器
1. 添加控件
新建一个 Windows 应用程序,把 Form1
的“ Text ”属性改为“ MP3Player ”。
添加一个 MainMenu 控件,选中控件
MainMenu1 ,点击鼠标右键,在弹出的菜
单里选择“编辑菜单”进入菜单编辑窗
口,如图:
选中 MenuItem1 ,点击鼠标右键,选择
“新插入”,共插入 4 个 MenuItem ,
它的属性如下表:
12
控件类别 控件名称属性设置结果
MenuItemText文件
1
MenuItemText打开文件
MainMenu
2
MenuItem Text 清除列表
3
MenuItem Text 退出
4
添加一个 ListBox 控件,把 Name 属性
改为“ List ”,用于显示曲目列表。
添加 3 个 Button 控件,它们的属性如
下表:
控件类别 控件名称属性设置结果
Button1Text播放
ButtonButton2Text暂停
Button3Text停止
13
添加一个 OpenFileDialog 控件,用于显
示打开对话框。
添加一个 MMControl 控件,把 Visible
属性设置为“ False ”,这样就把
MMControl 控件隐藏了。
MMControl 控
件通常不在“工具栏”里,可以通过 点
击菜单栏上的“工具”→“添加 / 移除
工具箱项” ,在 COM 组件里找到
“ Microsoft Multimedia Control ”项,
选中然后确定即可。
如图:
14
添加控件完毕后的界面如图:
•添加代码
双击“打开文件”菜单,添加如下代码:
Dim pathNames() As String
15
' 定义多选文件路径
Dim sFile As String
' 定义选取的文件路径
Dim flag As Boolean = False
' 判断用户双击的区域是否在列表项上
Private Sub MenuItem2_Click( ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles
MenuItem2.Click
With Me .OpenFileDialog1
.Title = " 打开音乐文件 "
.Multiselect = True
.Filter = " 音乐文件
(*.mp3)|*.mp3|(*.mid)|*.mid"
16
.ShowDialog()
pathNames = .FileNames
End With
Dim path As String
For Each path In pathNames
Me .List.Items.Add(path)
Next
' 添加文件路径到播放列表中
End Sub
双击“清除列表”菜单,添加如下代码:
Private Sub MenuItem3_Click( ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles
MenuItem3.Click
17
Me .List.Items.Clear()
End Sub
双击“退出”菜单,添加如下代码:
Private Sub MenuItem4_Click( ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles
MenuItem4.Click
Me .MCIControl.Command = "Stop"
Me .MCIControl.Command = "Close"
Me .Close()
End Sub
18
双击 ListBox 控件, 在代码编辑窗口的
右上的下拉菜单中,选择
“ DoubleClick ”,如图:
添加如下代码:
Private Sub List_DoubleClick( ByVal
sender As Object , ByVal e As
System.EventArgs) Handles
List.DoubleClick
19
flag = True
flag = True
On Error Resume Next
Me .MCIControl.Command = "Stop"
Me .MCIControl.Command = "Close"
sFile = Me .List.SelectedItem
Me .MCIControl.FileName = sFile
Me .MCIControl.Command = "Open"
Me .MCIControl.Command = "Play"
End Sub
双击“播放”按钮,添加如下代码:
Private Sub Button1_Click( ByVal
sender As System.Object, ByVal e As
20
System.EventArgs) Handles
Button1.Click
Me .MCIControl.Command = "Play"
End Sub
双击“暂停”按钮,添加如下代码:
Private Sub Button2_Click( ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles
Button2.Click
Me .MCIControl.Command = "Pause"
End Sub
双击“停止”按钮,添加如下代码:
Private Sub Button3_Click( ByVal
sender As System.Object, ByVal e As
21
System.EventArgs) Handles
Button3.Click
Me .MCIControl.Command = "Stop"
Me .MCIControl.Command = "Prev"
Me .MCIControl.Command = "Stop"
End Sub
•运行
完成代码后,保存文件,并按 F5 调试运
行,打开音乐文件( *.mp3 ),可以同时
打开多个文件,在列表框将出现所选择的
文件列表,双击任意一首歌曲,就能进行
播放,运行结果如图所示:
22
实验 3CD 播放器
1. 添加控件
23
新建一个 Windows 应用程序,把 Form1
的“ Text ”属性改为“ CDPlayer ”。
添加一个 MainMenu 控件,选中控件
MainMenu1 ,点击鼠标右键,在弹出的菜
单里选择“编辑菜单”进入菜单编辑窗
口,如图:
选中 MenuItem1 ,点击鼠标右键,选择
“新插入”,共插入 4 个 MenuItem ,
它的属性如下表:
控件类别 控件名称属性设置结果
MainMenu MenuItemText唱片
24
1
MenuItem
2
MenuItem
3
MenuItem
Text
Text
Text
载入
弹出
退出
4
添加一个 ListBox 控件,把 Name 属性
改为“ Tracks ”。
添加一个 StatusBar 控件,把
ShowPanels 属性设为“ True ”,再添
加两个 StatusBarPanel ,并讲它们的
Alignment 属性都改为“ Center ”,
AutoSize 属性都改为“ Spring ”。
添加一个 Timer 控件,把 Interval 属
性设为“ 1000 ”, Enable 属性设为
“ True ”。
25
添加一个 MMControl 控件,把 Name 属
性改为“ MCIControl ”,所有按钮的
Enable 属性都设为“ True ”。
可通过
如下的方法设置按钮的属性:
选中 Form1 上的 MMControl 控件, 点
击鼠标右键,在弹出的菜单里选择
“ ActiveX – 属性” , 点击“控件”
选项,然后把所有控件的“ * 有效”选
项都选中如图:
26
如果你在“工具栏”里找不到
MMControl 控件,可以通过 点击菜单栏
上的“工具”→“添加 / 移除工具箱
项” ,在 COM 组件里找到“ Microsoft
Multimedia Control ”项,选中然后确
定即可。
如图:
添加控件完毕后的界面如图:
27
•添加代码
双击 ListBox 控件,添加如下代码:
Private Sub
Tracks_SelectedIndexChanged( ByVal
sender As System.Object, ByVal e As
28
System.EventArgs) Handles
Tracks.SelectedIndexChanged
flag = True
End Sub
在代码编辑窗口的右上下拉菜单中,选择
DoubleClick ,如图:
然后添加如下代码:
29
Private Sub
Tracks_DoubleClick( ByVal sender As
Object , ByVal e As System.EventArgs)
Handles Tracks.DoubleClick
' 实现双机更改曲目功能
Try
If Me .Tracks.SelectedIndex >= 0 And
flag = True Then
flag = False
Me .MCIControl.Command = "Stop"
Me .MCIControl.Track =
Me .Tracks.SelectedIndex + 1
Me .MCIControl.From =
Me .MCIControl.TrackPosition
Me .MCIControl.Command = "Play"
30
End If
Catch ex As Exception
End Try
End Sub
双击“载入”控件,添加如下代码:
Private Sub MenuItem2_Click( ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles
MenuItem2.Click
Dim i As Integer
Try
Me .MCIControl.Command = "Open"
' 选取豪秒作为时间单位
Me .MCIControl.TimeFormat = 0
31
Me .MCIControl.Track = 1
' 从第 1 首的开始位置起播放
Me .MCIControl.From =
Me .MCIControl.TrackPosition
If MCIControl.Error Then
MessageBox.Show("CD ERROR")
Exit Sub
End If
Me .MCIControl.EjectEnabled = True
' 将所有曲目列于表中
For i = 1 To MCIControl.Tracks
Tracks.Items.Add("track" & i)
Next
32
If Tracks.Items.Count > 0 Then
Me .Tracks.SelectedIndex = 0
Else
MessageBox.Show("CD ERROR")
Exit Sub
End If
Catch ex As Exception
MessageBox.Show("CD ERROR")
Exit Sub
End Try
Timer1.Enabled = True
Me .MCIControl.Command = "Play"
End Sub
33
双击“弹出”控件,添加如下代码:
Private Sub MenuItem3_Click( ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles
MenuItem3.Click
Me .MCIControl.Command = "Eject"
End Sub
双击“退出”控件,添加如下代码:
Private Sub MenuItem4_Click( ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles
MenuItem4.Click
Me .Close()
End Sub
34
双击 MMControl 控件,选择
“ StatusUpdate ” 添加如下代码:
Private Sub
MCIControl_StatusUpdate( ByVal
sender As Object , ByVal e As
System.EventArgs) Handles
MCIControl.StatusUpdate
If Me .MCIControl.Mode = 526 Then
Timer1.Enabled = True
Else
Timer1.Enabled = False
End If
End Sub
双击 Timer 控件,添加如下代码:
35
Private Sub Timer1_Tick( ByVal sender
As System.Object, ByVal e As
System.EventArgs) Handles
Timer1.Tick
' 更新状态栏
Me .StatusBarPanel1.Text = "CD 共有
曲目 " & Me .MCIControl.Tracks & " 首
"
Me .StatusBarPanel2.Text = " 现在正
在播放第 " & Me .MCIControl.Track & "
首 "
End Sub
双击 Form 窗体,进入代码编辑界面,添
加如下代码:
' 判断用户双击的区域是否在列表项上
36
Dim flag As Boolean = False
Private Sub Form1_Load( ByVal sender
As System.Object, ByVal e As
System.EventArgs) Handles
MyBase .
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 VB 实现 多媒体 播放