利用VB实现多媒体播放器.docx

上传人:b****8 文档编号:8928375 上传时间:2023-05-16 格式:DOCX 页数:135 大小:3.94MB
下载 相关 举报
利用VB实现多媒体播放器.docx_第1页
第1页 / 共135页
利用VB实现多媒体播放器.docx_第2页
第2页 / 共135页
利用VB实现多媒体播放器.docx_第3页
第3页 / 共135页
利用VB实现多媒体播放器.docx_第4页
第4页 / 共135页
利用VB实现多媒体播放器.docx_第5页
第5页 / 共135页
利用VB实现多媒体播放器.docx_第6页
第6页 / 共135页
利用VB实现多媒体播放器.docx_第7页
第7页 / 共135页
利用VB实现多媒体播放器.docx_第8页
第8页 / 共135页
利用VB实现多媒体播放器.docx_第9页
第9页 / 共135页
利用VB实现多媒体播放器.docx_第10页
第10页 / 共135页
利用VB实现多媒体播放器.docx_第11页
第11页 / 共135页
利用VB实现多媒体播放器.docx_第12页
第12页 / 共135页
利用VB实现多媒体播放器.docx_第13页
第13页 / 共135页
利用VB实现多媒体播放器.docx_第14页
第14页 / 共135页
利用VB实现多媒体播放器.docx_第15页
第15页 / 共135页
利用VB实现多媒体播放器.docx_第16页
第16页 / 共135页
利用VB实现多媒体播放器.docx_第17页
第17页 / 共135页
利用VB实现多媒体播放器.docx_第18页
第18页 / 共135页
利用VB实现多媒体播放器.docx_第19页
第19页 / 共135页
利用VB实现多媒体播放器.docx_第20页
第20页 / 共135页
亲,该文档总共135页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

利用VB实现多媒体播放器.docx

《利用VB实现多媒体播放器.docx》由会员分享,可在线阅读,更多相关《利用VB实现多媒体播放器.docx(135页珍藏版)》请在冰点文库上搜索。

利用VB实现多媒体播放器.docx

利用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 .

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2