——————————————————————-
Author:GordonF.MacLeod
HowtoextractsoundsfromtheSOUND.DRVlibrary..
Hereare4differentsoundeffectsthatcancalled
viaAPIstothe”SOUND.DRV”library.Youcanmodify
thevaluestocreateyourownuniquesounds.
DeclaretheseAPIs:
DeclareFunctionOpenSoundLib”sound.drv”()
DeclareFunctionVoiceQueueSizeLib”sound.drv”(ByValnVoice,ByValnByteS)
DeclareFunctionSetVoiceSoundLib”sound.drv”(ByValnSource,ByValFreq&,
ByValnDuration)
DeclareFunctionStartSoundLib”sound.drv”()
DeclareFunctionCloseSoundLib”sound.drv”()
DeclareFunctionWaitSoundStateLib”sound.drv”(ByValState)
Addthisroutine,tobeusedwithSirenSound1routine
SubSound(ByValFreqAsLong,ByValDurationAsInteger)
DimSAsInteger
Shiftfrequencytohighbyte.
Freq=Freq*2^16
S=SetVoiceSound(1,Freq,Duration)
S=StartSound()
While(WaitSoundState(1)<>0):Wend
EndSub
Herearethe4soundroutines:
*AttentionSound#1*
SubAttenSound1()
DimSucc,SAsInteger
Succ=OpenSound()
S=SetVoiceSound(1,1500*2^16,50)
S=SetVoiceSound(1,1000*2^16,50)
S=SetVoiceSound(1,1500*2^16,100)
S=SetVoiceSound(1,1000*2^16,100)
S=SetVoiceSound(1,800*2^16,40)
S=StartSound()
While(WaitSoundState(1)<>0):Wend
Succ=CloseSound()
EndSub
*ClickSound#1*
SubClickSound1()
DimSucc,SAsInteger
Succ=OpenSound()
S=SetVoiceSound(1,200*2^16,2)
S=StartSound()
While(WaitSoundState(1)<>0):Wend
Succ=CloseSound()
EndSub
*ErrorSound#1*
SubErrorSound1()
DimSucc,SAsInteger
Succ=OpenSound()
S=SetVoiceSound(1,200*2^16,150)
S=SetVoiceSound(1,100*2^16,100)
S=SetVoiceSound(1,80*2^16,90)
S=StartSound()
While(WaitSoundState(1)<>0):Wend
Succ=CloseSound()
EndSub
*SirenSound#1*
SubSirenSound1()
DimSuccAsInteger
DimJAsLong
Succ=OpenSound()
ForJ=440To1000Step5
CallSound(J,J/100)
NextJ
ForJ=1000To440Step-5
CallSound(J,J/100)
NextJ
Succ=CloseSound()
EndSub->