[本篇论文由上帝论文网为您收集整理,上帝论文网http://paper.5var.com将为您整理更多优秀的免费论文,谢谢您的支持] 摘要 利用VB编写多媒体课件,主要解决动画、声音、图片、文本的显示、播放与控制等问题,本文介绍一些有关的编程技巧和关键技术。 关键词 VB 多媒体 课件 Visual Basic采用面对对象的程序设计思想,且继承了Basic简单易学的特点, 功能强大被很多课件的开发者所青睐,它和许多课件开发平台相比,具有更好的灵活性,可以充分的实现开发者的意图,是开发多媒体程序的利器,下面是我用 Visual Basic 编写课件的一点经验。 1.播放FLC动画 FLC动画是表示物理量之间的联接关系及运动关系有利工具,我采用vbplay.vbx控件播放动画。 使用该控件,必须有aaplay.dll文件同时存在。 ①播放动画前判断是否有动画文件,有则播放: if dir("文件名.flc")<>"" then animation1.animation="文件名.flc" animation1.visible=true endif ②为了看清物理量某一状态,动画需要在某一帧暂停: Private Sub pausebtn_Click() If animation1.Pause Then animation1.Pause = False Else animation1.Pause = True End If End Sub ③ 动画向前退一帧: Private Sub back_Click() animation1.PositionFrame = animation1.PositionFrame - 1 End Sub 2.声音的播放 为了使用者更好的理解并撑握软件所讲知识,增强学习效果,声音解说在多媒体课件中起着十分重要的作用。声音可用windows的录音机录制。是否声音播放可由使用者控制,也可实现声音的暂停。下面是利用MCI控件实现声音的播放。 Public Const mci_mode_close As Integer = 524 Public Const mci_mode_play As Integer = 526 Public Const mci_mode_pause As Integer = 529 Private Sub sound_Click() '如果声音正在播放则暂停或继续播放 If (Not MMControl1.Mode = mci_mode_pause) And (MMControl1.Mode = mci_mode_play) Then MMControl1.Command = "pause" Else '播放解说词 MMControl1.DeviceType = "WaveAudio" MMControl1.filename = "文件名.wav" MMControl1.Shareable = False MMControl1.UpdateInterval = 50 MMControl1.Notify = True MMControl1.Command = "open" MMControl1.Command = "prev" MMControl1.Command = "play" End If End Sub '======================================================== '如果解说已播放结束,则关闭媒体播放器 Private Sub MMControl1_Done(NotifyCode As Integer) If MMControl1.Position = MMControl1.Length Then MMControl1.Command = "close" End If End Sub 3.图形按钮编程实现 虽然VB提供了标准的Windows按钮,但在多媒体课件中使用带指示声音的图形按钮发挥多媒体计算机的优点,使程序界面更美观,操作更方便,大大的提高多媒体课件的教学效果。 ①先用photonshop作三个图片,代表按钮的三种状态,并命名为move.bmp,normal..bmp,down.bmp,用 windows下的录音机录制二个声音文件,命名为:mover.wav,down.wav 。 ②利用API函数播放声音,函数定义如下: #If Win32 Then Declare Function playsound Lib "WinMN" (ByVal SoundName As String, ByVal handle As Integer, ByVal Flags As Long) As Integer #Else Declare Function playsound Lib "MMSystem" (ByVal SoundName As String, ByVal handle As Integer, ByVal Flags As Long) As Integer #End If Public Const snd_nodefault = &H2 Public Const snd_sync = &O0 Public Const snd_filename = &H20000 ③在窗体上画picture控件,picture1.autosize=true,picture1.borderstyle设置为0-none,picture1.picture设置为normal.bmp。 ④编程如下: '============================================================ '当光标在窗体中时,按钮处于正常状态 Private Sub Form1_MouseMove() picture1.picture=loadpicture("normal.bmp") mark=false End Sub '============================================================ '当光标在按钮上移动时,按钮处于激活状态,且播放声音 mover.wav Private Sub Picture1_MouseMove() if mark then picture1.picture=loadpicture("move.bmp") playsound "mover.wav",0,snd_sync or snd_nodefault or snd_filename mark =true end if end sub '============================================================ '当鼠标右键按下时,按钮处于按下状态 Private Sub Picture1_MouseDown() picture1.picture=loadpicture("down.bmp") end sub '========================================================= 当鼠标右键弹起时,按钮处于激活状态 Private Sub Picture1_MouseUp() picture1.picture=loadpicture("move.bmp") end sub '========================================================== '单击按钮时,播放down.wav Private Sub Picture1_Click() playsound "down.wav",0,snd_sync or snd_nodefault or snd_filename end sub 4.用图形滚动条实现菜单选择 当某类机构有多个项时,使用下拉菜单选择,下拉菜单过长,操作复杂,且下拉菜单为windows95方式,影响程序美观。为此,我采用图形滚动条实现[1] [2] 下一页
Tags:
|