在VB中用API完成多媒體
發(fā)表時(shí)間:2024-02-18 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]在VB中用API實(shí)現(xiàn)多媒體主要是調(diào)用Windows的mmsystem.dll庫。以下為調(diào)用API的聲明(這些代碼放在程序的聲明部分中): 1.′播放CD和AVI所需要的聲明。 Declare Function mciSendString Lib ″MMSYSTEM″(ByVal lpstrCo...
在VB中用API實(shí)現(xiàn)多媒體主要是調(diào)用Windows的mmsystem.dll庫。以下為調(diào)用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用到的全局變量
′接下來是調(diào)用這些聲明
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) '初始化驅(qū)動
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
以上程序是我在調(diào)用多媒體時(shí)所常用的模塊,你只需將上面的模塊在程序中直接調(diào)用即