kasper_sky
Antivirus
- Сообщения
- 116
- Репутация
- 1
И снова доброго времени суток.
Сегодня я уже интересовался(http://autoit-script.ru/index.php/topic,7867.msg53489.html) у форумчан по поводу создания регулятора громкости для примитивного плеера.
Теперь мне нужно прикрутить изменение громкости на колесико мыши.
Кто знает, как это реализовать?
Код, на всякий случай(пишу примитивно, не ругаться):
Сегодня я уже интересовался(http://autoit-script.ru/index.php/topic,7867.msg53489.html) у форумчан по поводу создания регулятора громкости для примитивного плеера.
Теперь мне нужно прикрутить изменение громкости на колесико мыши.
Кто знает, как это реализовать?
Код, на всякий случай(пишу примитивно, не ругаться):
Код:
#NoTrayIcon
#include <Sound.au3>
#include <SliderConstants.au3>
Global $file = 0, $sec = -1, $volume
If $CmdLine[0] Then $file = $CmdLine[1]
$temp = StringSplit($file, '\')
If IsArray($temp) Then $f = $temp[$temp[0]]
$open = _SoundOpen($file)
$lenth = StringTrimLeft(_SoundLength($file), 3)
If @error Then Exit
$x = IniRead(@ScriptDir & '\settings.ini', 'position', 'x', 200)
$y = IniRead(@ScriptDir & '\settings.ini', 'position', 'y', 200)
$volpos = IniRead(@ScriptDir & '\settings.ini', 'volume', 'pos', 75)
GUICreate($f, 400, 100, $x, $y)
GUISetFont(12)
$openfilemenu = GUICtrlCreateButton('Открыть', 2, 2, 70, 20)
GUICtrlSetFont(-1, 10)
$l = GUICtrlCreateLabel('', 75, 3, 100, 18)
;~ GUICtrlSetBkColor(-1,0xFF0000)
$volume = GUICtrlCreateSlider(20, 50, 100, 30, $TBS_NOTICKS)
GUICtrlSetData(-1, $volpos)
$volumeplus = GUICtrlCreateButton('+', -10, -10, 10, 10)
$volumeminus = GUICtrlCreateButton('-', -20, -20, 10, 10)
SoundSetWaveVolume($volpos)
Dim $HotKey[2][2]
$HotKey[0][0] = '{UP}'
$HotKey[0][1] = $volumeplus
$HotKey[1][0] = '{DOWN}'
$HotKey[1][1] = $volumeminus
;~ $HotKey[2][0] = '{LEFT}'
;~ $HotKey[2][1] = $
;~ $HotKey[3][0] = '{RIGHT}'
;~ $HotKey[3][1] = $
GUISetAccelerators($HotKey)
GUISetState()
_SoundPlay($open)
$c = 1
Do
$msg = GUIGetMsg()
Switch $msg
Case $volumeplus
$tmp = GUICtrlRead($volume) + 5
GUICtrlSetData($volume, $tmp)
Case $volumeminus
$tmp = GUICtrlRead($volume) - 5
GUICtrlSetData($volume, $tmp)
Case $openfilemenu
MsgBox(0, '', '')
EndSwitch
If $c = 2 Then
$winpos = WinGetPos($f)
If $winpos[0] <> $x Or $winpos[1] <> $y Then
Sleep(25)
$x = $winpos[0]
$y = $winpos[1]
IniWrite(@ScriptDir & '\settings.ini', 'position', 'x', $winpos[0])
IniWrite(@ScriptDir & '\settings.ini', 'position', 'y', $winpos[1])
EndIf
EndIf
$volcnt = GUICtrlRead($volume)
If $volpos <> $volcnt Then
Sleep(5)
$volpos = $volcnt
SoundSetWaveVolume($volcnt)
EndIf
If $c = 2 Then
$list = ProcessList(@ScriptName)
If $list[0][0] <> 1 Then
IniWrite(@ScriptDir & '\settings.ini', 'volume', 'pos', GUICtrlRead($volume))
Exit
EndIf
EndIf
If $sec <> @SEC Then
$sec = @SEC
$pos = StringTrimLeft(_SoundPos($open), 3)
GUICtrlSetData($l, $pos & ' / ' & $lenth)
EndIf
$c = $c + 1
If $c = 21 Then $c = 1
Sleep(50)
Until $msg = -3
_SoundStop($open)
IniWrite(@ScriptDir & '\settings.ini', 'volume', 'pos', GUICtrlRead($volume))