在VB中用API实现多媒体
2006-02-27 11:44:26 来源:WEB开发网核心提示:在VB中用API实现多媒体主要是调用Windows的mmsystem.dll库,以下为调用API的声明(这些代码放在程序的声明部分中):1.′播放CD和AVI所需要的声明,在VB中用API实现多媒体,DeclareFunctionmciSendStringLib″MMSYSTEM″(ByVallpstrCommanda
在VB中用API实现多媒体主要是调用Windows的mmsystem.dll库。以下为调用API的声明(这些代码放在程序的声明部分中):
1.′播放CD和AVI所需要的声明。
DeclareFunctionmciSendStringLib″MMSYSTEM″(ByVal
lpstrCommandasString,ByVallpstrReturnStrasAny,By
ValwRetumLenasInteger,ByValhCallBackasInteger)as
Long
′播放WAV所需要的声明
DeclareFunctionsndPlaySoundLib″MMSYSTEM.DLL″(ByVallpszSoundNameasString,ByValwF1agsasInteger)asInteger
′检测声卡所需要的声明
DeclareFunctionauxGetNaumDevsLib″MMSYSTEM″()asInteger
′所用到的全局变量声明
GlobalConstSND_SYNC=&H0000 ′播放WAV用到的全局变量
GlobalConstSND_ASYNC=&-H0001′播放WAV用到的全局变量
GlobalConstSND_NODEFAULT=&H0002′播放WAV用到的全局变量
GlobalConstSND_LOOP=&H0008′播放WAV用到的全局变量
GlobalConstSND_NOSTOP=&-H0010′播放WAV用到的全局变量
′接下来是调用这些声明
FunctionauxTest()asBoolean
DimIAsInteger
I=auxGetNumDevs()
IfI>0Then
AuxTest=True′如果有声卡则返回真
ExitFunction
Else
AuxTest=False′如果未检测到声卡则返回假
ExitFunction
Else
AuxTest=False′如果未检测到声卡则返回假
ExitFunction
EndIf
EndFunction
2.播放CD的源代码
SubPlayCD(bAsInteger)
′b为所播的音轨号
DimaAsLong
a=mciSendString(″opencdaudioaliascdwait″,0&,0,0)`初始化驱动
a=mciSendString(″setcdtimeformattmsf″,0&,0,0)
a=mciSendString(″playcdfrom″&Str(b),0&,00)′播放音轨
EndSub
3.播放AVI的源代码
SubplayAVI(AVIFileAsString)
DimRvalasLong
AVIFile=″play″+AVIFile+″fullscreen″′全屏幕播放AVI文件
Rval=mciSendString(AVIFile,0&,0,0&)
EndSub
4.播放WAV的源代码
SubplayWAV(WAVFileAsString)
DimFlagasInteger
DimaasInteger
wFlag=SND_ASYNCorSND_NODEFAULT
a=sndPlaySound(WAVFile,Flag)
EndSub
以上程序是我在调用多媒体时所常用的模块,你只需将上面的模块在程序中直接调用即可。->
1.′播放CD和AVI所需要的声明。
DeclareFunctionmciSendStringLib″MMSYSTEM″(ByVal
lpstrCommandasString,ByVallpstrReturnStrasAny,By
ValwRetumLenasInteger,ByValhCallBackasInteger)as
Long
′播放WAV所需要的声明
DeclareFunctionsndPlaySoundLib″MMSYSTEM.DLL″(ByVallpszSoundNameasString,ByValwF1agsasInteger)asInteger
′检测声卡所需要的声明
DeclareFunctionauxGetNaumDevsLib″MMSYSTEM″()asInteger
′所用到的全局变量声明
GlobalConstSND_SYNC=&H0000 ′播放WAV用到的全局变量
GlobalConstSND_ASYNC=&-H0001′播放WAV用到的全局变量
GlobalConstSND_NODEFAULT=&H0002′播放WAV用到的全局变量
GlobalConstSND_LOOP=&H0008′播放WAV用到的全局变量
GlobalConstSND_NOSTOP=&-H0010′播放WAV用到的全局变量
′接下来是调用这些声明
FunctionauxTest()asBoolean
DimIAsInteger
I=auxGetNumDevs()
IfI>0Then
AuxTest=True′如果有声卡则返回真
ExitFunction
Else
AuxTest=False′如果未检测到声卡则返回假
ExitFunction
Else
AuxTest=False′如果未检测到声卡则返回假
ExitFunction
EndIf
EndFunction
2.播放CD的源代码
SubPlayCD(bAsInteger)
′b为所播的音轨号
DimaAsLong
a=mciSendString(″opencdaudioaliascdwait″,0&,0,0)`初始化驱动
a=mciSendString(″setcdtimeformattmsf″,0&,0,0)
a=mciSendString(″playcdfrom″&Str(b),0&,00)′播放音轨
EndSub
3.播放AVI的源代码
SubplayAVI(AVIFileAsString)
DimRvalasLong
AVIFile=″play″+AVIFile+″fullscreen″′全屏幕播放AVI文件
Rval=mciSendString(AVIFile,0&,0,0&)
EndSub
4.播放WAV的源代码
SubplayWAV(WAVFileAsString)
DimFlagasInteger
DimaasInteger
wFlag=SND_ASYNCorSND_NODEFAULT
a=sndPlaySound(WAVFile,Flag)
EndSub
以上程序是我在调用多媒体时所常用的模块,你只需将上面的模块在程序中直接调用即可。->
更多精彩
赞助商链接