多媒体计算机技术原理实验指导书陈琦信息学院计算机实验室2003.10音频播放器设计文档一实验目的:多媒体计算机技术原理是多媒体数据的压缩编码技术。
多媒体系统是硬件和软件组成的,利用多媒体技术可制作多媒体节目、超文本和超媒体系统,在许多领域均发挥其作用。
本实验制作音频软处理器,利用多媒体控件,在计算机上实现声音的播放。
二实验原理:1.总体设计由于Visual Basic界面简洁,功能强大但操作易上手,所以本程序选用Visual Basic 6.0来制作。
本音频播放器实现了播放所需要的基本功能,如同一部放音机,可以将存储在计算机中avi、wave、midi格式的声音文件播放出来,除了直接播放声音以外,还可以进行循环播放。
⑴菜单介绍①文件菜单打开 Open退出 Exit②帮助菜单关于 About⑵工具按钮介绍①搜索到开头(把声音文件倒到它的开始位置)②搜索到结尾(把声音文件倒到它的结束位置)③播放(播放当前的声音文件)④暂停(暂停当前的声音文件)⑤停止(停止播放)⑥滑动条(表示声音播放的进程)⑦文本框(显示声音文件的路径)2.详细设计⑴构造用户界面首先,用菜单编辑器编辑菜单,内容如下:其次,在界面上添加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 Thenmand = "prev"End Ifplay的代码如下:Private Sub MMControl_PlayClick(Cancel As Integer)mand = "play"End SubStop的代码如下:Private Sub MMControl_StopClick(Cancel As Integer)mand = "stop"Slider1.Value = 0End SubCommonDialog的代码如下:CommonDialog1.FileName = ""CommonDialog1.Filter = "(*.midi)|*.mid|(*.wav)|*.wav|(*.avi)|*.avi"CommonDialog1.FilterIndex = 1CommonDialog1.DialogTitle = "打开媒体文件"CommonDialog1.Action = 1mand = "close"Label1.Caption = CommonDialog1.FileNameIf CommonDialog1.FileName = "" Thentemp = MsgBox("没有文件被选择", 37, "检查") ElseIf CommonDialog1.FilterIndex = 1 ThenMMControl.DeviceType = "sequencer"MMControl.TimeFormat = 1MMControl.FileName = CommonDialog1.FileName mand = "open"Slider1.Min = 0Slider1.Max = MMControl.LengthElseIf CommonDialog1.FilterIndex = 2 ThenMMControl.DeviceType = "waveaudio"MMControl.FileName = CommonDialog1.FileName mand = "open"Slider1.Min = 0Slider1.Max = MMControl.LengthElseIf CommonDialog1.FilterIndex = 3 ThenMMControl.DeviceType = "avivideo"MMControl.TimeFormat = 3MMControl.FileName = CommonDialog1.FileName mand = "open"Slider1.Min = 0Slider1.Max = MMControl.LengthEnd If4.操作说明a 双击play图标,出现如下画面:b 点击文件——打开,画面所示:c 选择文件类型,选择一个声音文件,画面如图:d 点击按钮,开始播放,如图所示:e 点击可暂停播放,点击可停止播放,当播放完毕时点击可重放。
F 点击帮助——关于,画面如下:三、实验仪器:486、586计算机、声卡、音箱、麦克等。
四、实验内容及步骤:程序清单Private Sub check1_Click()If check1.Value = 1 Thenmand = "PLAY"End IfEnd SubPrivate Sub Form_Load()Me.Image1.Picture = LoadPicture(App.Path + "\qq.jpg") End SubPrivate Sub Form_Unload(Cancel As Integer)mand = "stop"mand = "close"End SubPrivate Sub MMControl_PlayClick(Cancel As Integer)mand = "play"End SubPrivate Sub MMControl_StatusUpdate()Select Case CommonDialog1.FilterIndexCase 1Slider1.Value = MMControl.PositionCase 2Slider1.Value = MMControl.PositionCase 3Slider1.Value = MMControl.PositionEnd SelectIf MMControl.Position = MMControl.Length Thenmand = "prev"End IfIf Slider1.Value = MMControl.Length Thenmand = "stop"Slider1.Value = 0End IfEnd SubPrivate Sub MMControl_StopClick(Cancel As Integer)mand = "stop"Slider1.Value = 0End SubPrivate Sub mnuabout_Click()Dim temp As Integertemp = MsgBox("音频播放器V1.0 孙婕 99041242", vbOKOnly, "help") End SubPrivate Sub mnuexit_Click()mand = "stop"mand = "close"EndEnd SubPrivate Sub mnuopen_Click()Dim temp As IntegerDim stringtext As StringDim midx, midy As DoubleCommonDialog1.FileName = ""CommonDialog1.Filter = "(*.midi)|*.mid|(*.wav)|*.wav|(*.avi)|*.avi" CommonDialog1.FilterIndex = 1CommonDialog1.DialogTitle = "打开媒体文件"CommonDialog1.Action = 1mand = "close"Label1.Caption = CommonDialog1.FileNameIf CommonDialog1.FileName = "" Thentemp = MsgBox("没有文件被选择", 37, "检查")ElseIf CommonDialog1.FilterIndex = 1 ThenMMControl.DeviceType = "sequencer"MMControl.TimeFormat = 1MMControl.FileName = CommonDialog1.FileNamemand = "open"Slider1.Min = 0Slider1.Max = MMControl.LengthElseIf CommonDialog1.FilterIndex = 2 ThenMMControl.DeviceType = "waveaudio"MMControl.FileName = CommonDialog1.FileNamemand = "open"Slider1.Min = 0Slider1.Max = MMControl.LengthElseIf CommonDialog1.FilterIndex = 3 ThenMMControl.DeviceType = "avivideo"MMControl.TimeFormat = 3MMControl.FileName = CommonDialog1.FileNamemand = "open"Slider1.Min = 0Slider1.Max = MMControl.LengthEnd IfEnd SubPrivate Sub Slider1_Scroll()MMControl.To = Slider1.Valuemand = "seek"mand = "play"End Sub五、要求:实验前预习实验内容,读懂程序,上机调试。