VB 程序设计

10个成员

在VB中用API实现多媒体

发表于 2016-12-23 3365 次查看
在VB中用API实现多媒体主要是调用Windows的mmsystem.dll库。以下为调用API的声明(这些代码放在程序的声明部分中):

1.′播放CD和AVI所需要的声明。
   Declare Function mciSendString Lib ″MMSYSTEM″(ByVal
lpstrCommand as String,ByVal lpstrReturnStr as Any,By
Val wRetumLen as Integer,ByVal hCallBack as Integer) as
Long

   ′播放WAV所需要的声明
   Declare Function sndPlaySound Lib ″MMSYSTEM.DLL″(ByVal lpszSoundName as String,ByVal wF1ags as Integer) as Integer

   ′检测声卡所需要的声明
   Declare Function auxGetNaumDevs Lib ″MMSYSTEM″()as Integer

   ′所用到的全局变量声明
   Global Const SND_SYNC=&H0000   ′播放WAV用到的全局变量
   Global Const SND_ASYNC=&-H0001 ′播放WAV用到的全局变量
   Global Const SND_NODEFAULT=&H0002 ′播放WAV用到的全局变量
   Global Const SND_LOOP=&H0008 ′播放WAV用到的全局变量
   Global Const SND_NOSTOP=&-H0010 ′播放WAV用到的全局变量

   ′接下来是调用这些声明
   Function auxTest()as Boolean
   Dim I As Integer
   I=auxGetNumDevs()
   If I>0 Then
   AuxTest=True ′如果有声卡则返回真
   Exit Function
   Else
   AuxTest=False ′如果未检测到声卡则返回假
   Exit Function
   Else
   AuxTest=False ′如果未检测到声卡则返回假
   Exit Function
   End If
   End Function

2.播放CD的源代码
   Sub PlayCD(b As Integer)
   ′ b为所播的音轨号
   Dim a As Long
   a=mciSendString(″open cdaudio alias cd wait″,0&,0,0)`初始化驱动
   a=mciSendString(″set cd time format tmsf″,0&,0,0)
   a=mciSendString(″play cd from″& Str(b),0&,00) ′播放音轨
   End Sub

3.播放AVI的源代码
   Sub playAVI(AVIFile As String)
   Dim Rval as Long
   AVIFile=″play″+AVIFile+″fullscreen″ ′全屏幕播放AVI文件
   Rval=mciSendString(AVIFile,0&,0,0&)
   End Sub

4.播放WAV的源代码
   Sub playWAV(WAVFile As String)
   Dim Flag as Integer
   Dim a as Integer
   wFlag=SND_ASYNC or SND_NODEFAULT
   a=sndPlaySound(WAVFile,Flag)
   End Sub

   以上程序是我在调用多媒体时所常用的模块,你只需将上面的模块在程序中直接调用即可。

 

发表回复
你还没有登录,请先登录注册