опубликован 19-01-2002 22:39 MSK
Попробуй мой модулек для работы с этой функцией (м.б. код и ламовский...):'***********************************************************
'Описать процедуры, используемые в модуле
'***********************************************************
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Private Declare Function waveOutGetNumDevs Lib "winmm.dll" () As Long
'***********************************************************
'Возвращает True, если компьютер может воспроизводить звук
'***********************************************************
Public Function CanPlayWaves() As Boolean
CanPlayWaves = waveOutGetNumDevs
End Function
'***********************************************************
'Воспроизводит звуковой файл в синхронном или асинхронном
'режимах. Если blnAsync=True, то программа не останавливается
'при проигрывании файла. В противном случае программа будет
'ждать, пока не закончится воспроизведение файла.
'***********************************************************
Public Function PlayWaveFile(strFileName As String, Optional blnAsync As Boolean) As Boolean
Dim lngFlags As Long
'***********************************************************
'Значения флага для параметра dwFlags
'***********************************************************
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_NODEFAULT = &H2
Const SND_FILENAME = &H20000
'***********************************************************
'Устанавливает флаги для функции PlaySound
'***********************************************************
lngFlags = SND_NODEFAULT Or SND_FILENAME Or SND_SYNC
If blnAsync = True Then lngFlags = lngFlags Or SND_ASYNC
'***********************************************************
'Вызывает функцию PlaySound для воспроизведения звукового файла
'***********************************************************
PlayWaveFile = PlaySound(strFileName, 0&, lngFlags)
End Function
'***********************************************************
'Проигрывает WAV-файл из ресурса
'***********************************************************
Public Function PlayWavFromRes(ByVal ResId As Variant, ResType As Variant, Optional blnAsync As Boolean) As Boolean
Dim lpbSound() As Byte, lngFlags As Long
lpbSound = LoadResData(ResId, ResType)
lngFlags = SND_NODEFAULT Or SND_SYNC Or SND_MEMORY
If blnAsync Then lngFlags = lngFlags Or SND_ASYNC
PlayWavFromRes = sndPlaySound(lpbSound(0), lngFlags)
End Function
'***********************************************************
'Прекращает воспроизведение текущего звукового файла
'***********************************************************
Public Function StopPlayingWave() As Boolean
Const SND_PURGE = &H40
StopPlayingWave = PlaySound(vbNullString, 0&, SND_PURGE)
End Function