1、利用VB实现多媒体播放器资料范本 本资料为word版本,可以直接编辑和打印,感谢您的下载利用VB实现多媒体播放器 地点:_时间:_说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容利用VB实现多媒体播放器实验计划学时:6学时实验性质:验证性一、实验目的1.通过实验学习多媒体技术有关知识,增进对多媒体技术的认识和体会。2.掌握VB处理中经常用到的基本概念和名词。3.学习使用VB编写多媒体播放器。 二、实验内容和要求1.掌握VB中需要经常接触的基本概念。2.练习使用VB,尝试它的各项功能。要求掌握基
2、本处理功能,学会使用控件制作播放器。三、实验环境(硬件环境和软件环境)1.带有声卡、麦克风、音箱或耳机的多媒体计算机。2.Windows XP以上操作系统。3.工具软件VB。四、实验报告要求实验报告应包括实验名称、实验目的、实验内容、实验环境、操作方法和实验步骤、实验数据记录和处理、实验结果分析、体会质疑建议。具体请参阅实验报告模板。五、操作方法与实验步骤参阅下面实验指导进行实验,请学员各自写下操作方法与实验步骤。(注意不要全抄下来,以各自理解的写,如何出现一样的报告,将给予0分处理)六、实验讲义实验1 API_ 音频播放器 本节主要介绍了利用 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 。 添加控件 新建一个项目,在项目里添加 w
4、indows 窗体“ form1 ”,把它的“ Text ”属性改为“ API_ 音频播放”。 在“ form1 ”上添加一个 DriveListBox 控件做为驱动器列表框,一个 DirListBox 控件做为目录列表框,一个 FileListBox 控件做为文件列表框,一个 Button 控件做为命令按钮,五个 Label 控件做为标识。 把 Label1 的 Text 属性改成“驱动器”来标识 DriveListBox 控件,把 Label2 的 Text 属性改成“目录”来标识 DirListBox 控件,把 Label3 的 Text 属性改成“文件”来标识 FileListBox
5、控件,再把 FileListBox 控件的 Pattern 属性设置为 *.WAV ,这样就能过滤掉其他类型的文件, Label4 的 Text 属性改成“所选的声音文件全名”, Label5 的 Text 属性显示声音文件的完全路径。把 Button 的 Text 属性改成“播放”。 参见图 1 图 1 添加代码 双击 DriveListBox1 控件后进入代码编辑窗口,首先添加如下所示的程序声明代码: Option Strict Off Option Explicit On Friend Class Form1 Inherits System.Windows.Forms.Form 播放声音
6、的 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 函数声明 在“ Private Sub DriveListBox1_SelectedIndexChanged( ByVal sender As System.Object, ByVal e As System.Eve
7、ntArgs) Handles DriveListBox1.SelectedIndexChanged ”与“ End Sub ”之间添加代码: 驱动器改变 DirListBox1.Path = DriveListBox1.Drive 双击 DirListBox1 控件,添加代码: 目录改变 FileListBox1.Path = DirListBox1.Path 双击 FileListBox1 控件,添加代码: 文件改变 strSound = DirListBox1.Path & & FileListBox1.FileName 双击 Label5 控件,添加代码: strSound = Dir
8、ListBox1.Path + + FileListBox1.FileName Label5.Text = strSound 双击 Button1 控件,添加代码: 播放音频文件 Dim lngRet As Integer If strSound = Then 不选择声音文件直接播放 lngRet = PlaySound(c:WindowsMediaThe Microsoft Sound, 0, &H20000) Else 选择声音文件后播放 lngRet = PlaySound(strSound, 0, &H20000) End If 在“ Private Sub Form1_Load( B
9、yVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase .Load ” 与 “ End Sub ” 之间添加代码 : 为文件名赋初值 strSound = 3. 运行 完成所有的代码书写后,保存文件并运行程序。运行后的程序大致如图 2 所示, 图 2 各个框框里的内容也许因人而异,但结构差不多相同,如果不选择文件,直接单击“播放”,则播放的我们所熟悉的 Windows98 启动的声音。当然你也可以选择自己喜欢的音乐文件进行播放,但是文件名必须是 *.WAV 。 实验2 MP3 播放器 1. 添加控件 新
10、建一个 Windows 应用程序,把 Form1 的“ Text ”属性改为“ MP3Player ”。 添加一个 MainMenu 控件,选中控件 MainMenu1 ,点击鼠标右键,在弹出的菜单里选择“编辑菜单”进入菜单编辑窗口,如图: 选中 MenuItem1 ,点击鼠标右键,选择“新插入”,共插入 4 个 MenuItem ,它的属性如下表: 控件类别 控件名称 属性 设置结果 MainMenu MenuItem1 Text 文件 MenuItem2 Text 打开文件 MenuItem3 Text 清除列表 MenuItem4 Text 退出 添加一个 ListBox 控件,把 Na
11、me 属性改为“ List ”,用于显示曲目列表。 添加 3 个 Button 控件,它们的属性如下表: 控件类别 控件名称 属性 设置结果 Button Button1 Text 播放 Button2 Text 暂停 Button3 Text 停止 添加一个 OpenFileDialog 控件,用于显示打开对话框。 添加一个 MMControl 控件,把 Visible 属性设置为“ False ”,这样就把 MMControl 控件隐藏了。 MMControl 控件通常不在“工具栏”里,可以通过 点击菜单栏上的“工具”“添加 / 移除工具箱项” ,在 COM 组件里找到“ Microsof
12、t Multimedia Control ”项,选中然后确定即可。如图: 添加控件完毕后的界面如图: 添加代码 双击“打开文件”菜单,添加如下代码: Dim pathNames() As String 定义多选文件路径 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 Wi
13、th Me .OpenFileDialog1 .Title = 打开音乐文件 .Multiselect = True .Filter = 音乐文件 (*.mp3)|*.mp3|(*.mid)|*.mid .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 s
14、ender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click 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 M
15、e .Close() End Sub 双击 ListBox 控件, 在代码编辑窗口的右上的下拉菜单中,选择“ DoubleClick ”,如图: 添加如下代码: Private Sub List_DoubleClick( ByVal sender As Object , ByVal e As System.EventArgs) Handles List.DoubleClick flag = True flag = True On Error Resume Next Me .MCIControl.Command = Stop Me .MCIControl.Command = Close sFil
16、e = 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 System.EventArgs) Handles Button1.Click Me .MCIControl.Command = Play End Sub 双击“暂停”按钮,添
17、加如下代码: 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 System.EventArgs) Handles Button3.Click Me .MCIControl.Comm
18、and = Stop Me .MCIControl.Command = Prev Me .MCIControl.Command = Stop End Sub 运行 完成代码后,保存文件,并按 F5 调试运行,打开音乐文件( *.mp3 ),可以同时打开多个文件,在列表框将出现所选择的文件列表,双击任意一首歌曲,就能进行播放,运行结果如图所示: 实验3 CD 播放器 1. 添加控件 新建一个 Windows 应用程序,把 Form1 的“ Text ”属性改为“ CDPlayer ”。 添加一个 MainMenu 控件,选中控件 MainMenu1 ,点击鼠标右键,在弹出的菜单里选择“编辑菜单”
19、进入菜单编辑窗口,如图: 选中 MenuItem1 ,点击鼠标右键,选择“新插入”,共插入 4 个 MenuItem ,它的属性如下表: 控件类别 控件名称 属性 设置结果 MainMenu MenuItem1 Text 唱片 MenuItem2 Text 载入 MenuItem3 Text 弹出 MenuItem4 Text 退出 添加一个 ListBox 控件,把 Name 属性改为“ Tracks ”。 添加一个 StatusBar 控件,把 ShowPanels 属性设为“ True ”,再添加两个 StatusBarPanel ,并讲它们的 Alignment 属性都改为“ Cent
20、er ”, AutoSize 属性都改为“ Spring ”。 添加一个 Timer 控件,把 Interval 属性设为“ 1000 ”, Enable 属性设为“ True ”。 添加一个 MMControl 控件,把 Name 属性改为“ MCIControl ”,所有按钮的 Enable 属性都设为“ True ”。可通过如下的方法设置按钮的属性: 选中 Form1 上的 MMControl 控件, 点击鼠标右键,在弹出的菜单里选择“ ActiveX 属性” , 点击“控件”选项,然后把所有控件的“ * 有效”选项都选中如图: 如果你在“工具栏”里找不到 MMControl 控件,可以
21、通过 点击菜单栏上的“工具”“添加 / 移除工具箱项” ,在 COM 组件里找到“ Microsoft Multimedia Control ”项,选中然后确定即可。如图: 添加控件完毕后的界面如图: 添加代码 双击 ListBox 控件,添加如下代码: Private Sub Tracks_SelectedIndexChanged( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tracks.SelectedIndexChanged flag = True End Sub 在代码编辑窗口的右上下拉菜单中
22、,选择 DoubleClick ,如图: 然后添加如下代码: 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.SelectedInd
23、ex + 1 Me .MCIControl.From = Me .MCIControl.TrackPosition Me .MCIControl.Command = Play 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.C
24、ommand = Open 选取豪秒作为时间单位 Me .MCIControl.TimeFormat = 0 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.Item
25、s.Add(track & i) Next 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 双击“弹出”控件,添加如下代码: Private Sub MenuItem3_Click( By
26、Val 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 双击 MMControl 控件,选择“ StatusUpd
27、ate ” 添加如下代码: 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 控件,添加如下代码: Private Sub Timer1_Tick( ByVal sender As Sys
28、tem.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 窗体,进入代码编辑界面,添加如下代码: 判断用户双击的区域是否在列表项上 Dim flag As Boolean = False Private Sub Form1_Load( ByV
29、al sender As System.Object, ByVal e As System.EventArgs) Handles MyBase .Load Me .FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle Me .MaximizeBox = False MCIControl.RecordVisible = False MCIControl.EjectEnabled = False 设置设备类型 MCIControl.DeviceType = CDAudio Me .StatusBarPanel1.Tex
30、t = 等待 Me .StatusBarPanel2.Text = 请放入 CD 并加载 End Sub 然后在代码编辑窗口的右上下拉菜单中, 选择“ Closing ”,添加如下代码: Private Sub Form1_Closing( ByVal sender As Object , ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase .Closing MCIControl.Command = Stop MCIControl.Command = Close End Sub 运行 完成代码后,保存文件,并按 F5 调试运行,放入一张 CD 到 CDROM 中,运行的结果如图: 实验4 视频播放器
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2