VB 版 (精华区)
发信人: samuel (孔雀翎), 信区: VB
标 题: 在VB中用API实现多媒体
发信站: 哈工大紫丁香 (2002年02月07日07:48:47 星期四), 站内信件
在VB中用API实现多媒体
在VB中用API实现多媒体主要是调用Windows的mmsystem.dll库。以下为调用API的声明(
这些代码放在程序的声明部分中):
1.′播放CD和AVI所需要的声明。
Declare Function mciSendString Lib ″MMSYSTEM″(ByVal lpstrCommand as St
ring,ByVal lpstrReturnStr as Any,By Val wRetumLen as Integer,ByVal hCallBac
k as Integer) as Long
′播放WAV所需要的声明
Declare Function sndPlaySound Lib ″MMSYSTEM.DLL″(ByVal lpszSoundName a
s 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
以上程序是我在调用多媒体时所常用的模块,你只需将上面的模块在程序中直接调
用即
--
月圆之夜 紫禁之巅 一剑西来 天外飞仙
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 天外飞仙]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.745毫秒