资源描述
多媒体计算机技术原理
实验指导书
陈琦
信息学院计算机实验室
2003.10
音频播放器设计文档
一 实验目的:
多媒体计算机技术原理是多媒体数据的压缩编码技术。多媒体系统是硬件和软件组成的,利用多媒体技术可制作多媒体节目、超文本和超媒体系统,在许多领域均发挥其作用。本实验制作音频软处理器,利用多媒体控件,在计算机上实现声音的播放。
二 实验原理:
1. 总体设计
由于Visual Basic界面简洁,功能强大但操作易上手,所以本程序选用Visual Basic 6.0来制作。
本音频播放器实现了播放所需要的基本功能,如同一部放音机,可以将存储在计算机中avi、wave、midi格式的声音文件播放出来,除了直接播放声音以外,还可以进行循环播放。
⑴ 菜单介绍
① 文件菜单
打开 Open
退出 Exit
② 帮助菜单
关于 About
⑵ 工具按钮介绍
① 搜索到开头(把声音文件倒到它的开始位置)
② 搜索到结尾(把声音文件倒到它的结束位置)
③ 播放(播放当前的声音文件)
④ 暂停(暂停当前的声音文件)
⑤ 停止(停止播放)
⑥ 滑动条(表示声音播放的进程)
⑦ 文本框(显示声音文件的路径)
2. 详细设计
⑴ 构造用户界面
首先,用菜单编辑器编辑菜单,内容如下:
标 题
名 称
文件
mnufile
打开
mnuopen
退出
mnurun
帮助
mnuhelp
关于
mnuabout
其次,在界面上添加MMcontrol、Slider、CommonDialog、Label、CheckBox控件,合理安排、布局,使之美观。分别设置各控件的name、height、left、top、width属性。如图所示:
最后,编写程序代码。
3. 关键技术
本程序关键技术在MMcontrol (Multimedia MCI 控件)上,它是管理媒体控制接口 (MCI) 设备上的多媒体文件的记录与回放。从概念上说,这种控件就是一组按钮,它被用来向诸如声卡、MIDI 序列发生器、CD-ROM 驱动器、视频 CD 播放器和视频磁带记录器及播放器等设备发出 MCI 命令。MCI 控件还支持 Windows (*.avi) 视频文件的回放。
其上的按钮被分别定义为 Prev、 Next、 Play、 Pause、 Back、 Step、 Stop、 Record 和 Eject,本程序只采用Prev、 Play、 Pause、 Stop这几个按钮。
Prev的代码如下:
If MMControl.Position = MMControl.Length Then
MMControl.Command = "prev"
End If
play的代码如下:
Private Sub MMControl_PlayClick(Cancel As Integer)
MMControl.Command = "play"
End Sub
Stop的代码如下:
Private Sub MMControl_StopClick(Cancel As Integer)
MMControl.Command = "stop"
Slider1.Value = 0
End Sub
CommonDialog的代码如下:
CommonDialog1.FileName = ""
CommonDialog1.Filter = "(*.midi)|*.mid|(*.wav)|*.wav|(*.avi)|*.avi"
CommonDialog1.FilterIndex = 1
CommonDialog1.DialogTitle = "打开媒体文件"
CommonDialog1.Action = 1
MMControl.Command = "close"
Label1.Caption = CommonDialog1.FileName
If CommonDialog1.FileName = "" Then
temp = MsgBox("没有文件被选择", 37, "检查")
ElseIf CommonDialog1.FilterIndex = 1 Then
MMControl.DeviceType = "sequencer"
MMControl.TimeFormat = 1
MMControl.FileName = CommonDialog1.FileName
MMControl.Command = "open"
Slider1.Min = 0
Slider1.Max = MMControl.Length
ElseIf CommonDialog1.FilterIndex = 2 Then
MMControl.DeviceType = "waveaudio"
MMControl.FileName = CommonDialog1.FileName
MMControl.Command = "open"
Slider1.Min = 0
Slider1.Max = MMControl.Length
ElseIf CommonDialog1.FilterIndex = 3 Then
MMControl.DeviceType = "avivideo"
MMControl.TimeFormat = 3
MMControl.FileName = CommonDialog1.FileName
MMControl.Command = "open"
Slider1.Min = 0
Slider1.Max = MMControl.Length
End If
4. 操作说明
a 双击play图标,出现如下画面:
b 点击文件——打开,画面所示:
c 选择文件类型,选择一个声音文件,画面如图:
d 点击 按钮,开始播放,如图所示:
e 点击 可暂停播放,点击 可停止播放,当播放完毕时点击 可重放。
F 点击帮助——关于,画面如下:
三、实验仪器:
486、586计算机、声卡、
音箱、麦克等。
四、实验内容及步骤:
程序清单
Private Sub check1_Click()
If check1.Value = 1 Then
MMControl.Command = "PLAY"
End If
End Sub
Private Sub Form_Load()
Me.Image1.Picture = LoadPicture(App.Path + "\qq.jpg")
End Sub
Private Sub Form_Unload(Cancel As Integer)
MMControl.Command = "stop"
MMControl.Command = "close"
End Sub
Private Sub MMControl_PlayClick(Cancel As Integer)
MMControl.Command = "play"
End Sub
Private Sub MMControl_StatusUpdate()
Select Case CommonDialog1.FilterIndex
Case 1
Slider1.Value = MMControl.Position
Case 2
Slider1.Value = MMControl.Position
Case 3
Slider1.Value = MMControl.Position
End Select
If MMControl.Position = MMControl.Length Then
MMControl.Command = "prev"
End If
If Slider1.Value = MMControl.Length Then
MMControl.Command = "stop"
Slider1.Value = 0
End If
End Sub
Private Sub MMControl_StopClick(Cancel As Integer)
MMControl.Command = "stop"
Slider1.Value = 0
End Sub
Private Sub mnuabout_Click()
Dim temp As Integer
temp = MsgBox("音频播放器V1.0 孙婕 99041242", vbOKOnly, "help")
End Sub
Private Sub mnuexit_Click()
MMControl.Command = "stop"
MMControl.Command = "close"
End
End Sub
Private Sub mnuopen_Click()
Dim temp As Integer
Dim stringtext As String
Dim midx, midy As Double
CommonDialog1.FileName = ""
CommonDialog1.Filter = "(*.midi)|*.mid|(*.wav)|*.wav|(*.avi)|*.avi"
CommonDialog1.FilterIndex = 1
CommonDialog1.DialogTitle = "打开媒体文件"
CommonDialog1.Action = 1
MMControl.Command = "close"
Label1.Caption = CommonDialog1.FileName
If CommonDialog1.FileName = "" Then
temp = MsgBox("没有文件被选择", 37, "检查")
ElseIf CommonDialog1.FilterIndex = 1 Then
MMControl.DeviceType = "sequencer"
MMControl.TimeFormat = 1
MMControl.FileName = CommonDialog1.FileName
MMControl.Command = "open"
Slider1.Min = 0
Slider1.Max = MMControl.Length
ElseIf CommonDialog1.FilterIndex = 2 Then
MMControl.DeviceType = "waveaudio"
MMControl.FileName = CommonDialog1.FileName
MMControl.Command = "open"
Slider1.Min = 0
Slider1.Max = MMControl.Length
ElseIf CommonDialog1.FilterIndex = 3 Then
MMControl.DeviceType = "avivideo"
MMControl.TimeFormat = 3
MMControl.FileName = CommonDialog1.FileName
MMControl.Command = "open"
Slider1.Min = 0
Slider1.Max = MMControl.Length
End If
End Sub
Private Sub Slider1_Scroll()
MMControl.To = Slider1.Value
MMControl.Command = "seek"
MMControl.Command = "play"
End Sub
五、要求:
实验前预习实验内容,读懂程序,上机调试。有能力的学生独自编写程序,把调试过程中出现的问题记录下来。实验结束后,写好实验报告。
注:此程序仅供学生实验作为参考,程序设计的内容不限,可以利用所学知识,用相关的应用软件设计均可。例如:VF、VC++、Delphi6.0等等。
展开阅读全文