громкость звука

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
BOO
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 126
Зарегистрирован: 06.09.2003 (Сб) 14:23
Откуда: Саратовская обл. г.Энгельс

громкость звука

Сообщение BOO » 28.12.2003 (Вс) 2:17

как программой менять громкость
1) общую
2) громкость звука в программе
я проигрываю через api (playsound)
Слушайте рок!

Aleksej
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 191
Зарегистрирован: 03.06.2003 (Вт) 9:58

Сообщение Aleksej » 29.12.2003 (Пн) 9:49

Код: Выделить всё
Private Type ulLong
    HiWord As Integer
    LoWord As Integer
End Type

Private Type uvLong
    n As Long
End Type

Private ulVol As ulLong
Private uvVol As uvLong

Public Function GetVolume() As Long

    Call waveOutGetVolume(0, uvVol.n)
        LSet ulVol = uvVol
       
    GetVolume = ulVol.LoWord And Max
End Function
Public Function SetVolume(Volume As Long)

    ulVol.HiWord = (Volume And &H7FFF&) - (Volume And &H8000&)
    ulVol.LoWord = (Volume And &H7FFF&) - (Volume And &H8000&)
   
    LSet uvVol = ulVol
   
        Call waveOutSetVolume(0, uvVol.n)
End Function

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Используйте MCI

Сообщение hCORe » 29.12.2003 (Пн) 13:49

Для управления проигрыванием файлов в программе лучше пользуйся
функциями mciExecute и mciSendString (и для изменения громкости тоже).

А для регулирования общей громкости - соответственно waveOutGetVolume (получение) и waveOutSetVolume (изменение).

Вот их объявления:
Код: Выделить всё
Declare Function waveOutGetVolume Lib "Winmm" (ByVal wDeviceID As Integer, dwVolume As Long) As Integer
Declare Function waveOutSetVolume Lib "Winmm" (ByVal wDeviceID As Integer, ByVal dwVolume As Long) As Integer
Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Моду создают модоки, а распространяют модозвоны.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4160
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 29.12.2003 (Пн) 15:02

Для управления проигрыванием файлов в программе лучше пользуйся
функциями mciExecute и mciSendString (и для изменения громкости тоже).


Как функциями mciExecute и mciSendString менять громкость?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 8

    TopList  
cron