1 (изменено: igoriok1994, 2020-04-06 03:01:19)

Тема: AHK: Контроль громкости с клавиатуры

Всем привет.

Помогите написать скрипт для контроля громкости с клавиатуры.

В чем проблема:

Есть клавиатура медиа клавишами - громкость, пауза, а т.д. Клавиатура Viper V770. Там для контроля громкости крутилка. Проблема в том, что через клавиатуру громкость добавляется и убавляется на 2%. А нужно чтоб было на 1% + сохранить стандартный функционал.
Когда использую скрипты типа  soundSet +1 return - не вызывается стандартное Windows OSD.

Может кто-то знает в чем проблема?

Post's attachments

Screenshot_1.jpg
Screenshot_1.jpg 1.97 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

2 (изменено: igoriok1994, 2020-04-06 03:04:30)

Re: AHK: Контроль громкости с клавиатуры

Пробовал такой скрипт.

Volume_Up::
SoundSet, +1
return

Volume_Down::
SoundSet, -1
return

Он как раз блокирует стандартное OSD Windows 10

3

Re: AHK: Контроль громкости с клавиатуры

Думаю стандартное OSD Windows 10 отслеживает только нажатия клавиш, а не звука. Так что проще установить сторонний ползунок типа такого https://volume-2.ru.softonic.com/.
По мне, так даже этот на скорую руку, лучше смотрится, чем встроенный.


DetectHiddenWindows, On 
Gui, Margin, 5, 5
Gui, +HWNDhMain -DPIScale -Caption +AlwaysOnTop
Gui, Color, 000000
Gui, Font, s22
Gui, Add, Progress, Vertical vMyProgress w44 h222 c0EB3D6 Background6A6A6A , 56 
Gui, Add, Text, Center vText x0 cffffff, 888
Gui, Show, Na Hide  
WinSet, TransParent, 200, ahk_id %hMain% 

Set:
	SoundGet, Volume
	Volume := Floor(Volume) 
SetMute:
	GuiControl, , MyProgress, %Volume%
	GuiControl, , Text, % !Volume ? "X" : Volume
	SetTimer Hide, -666
	Return
	
Volume_Mute::
	SoundSet, -1,, Mute
	SoundGet, Mute, , Mute
	Gosub % Mute = "Off" ? "Set" : ("SetMute", Volume := 0) 
	Gui, Show, Na
	Return
	
Volume_Down::
Volume_Up::
	SoundSet, % InStr(A_ThisHotkey, "Up") ? "+1" : "-1"
	Gosub Set
	Gui, Show, Na
	Return
	 
Hide:
	Gui, Show, Hide
	Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

4 (изменено: igoriok1994, 2020-04-07 00:36:00)

Re: AHK: Контроль громкости с клавиатуры

Разобрался в чем делo, но скрипт все же работает не идеально.


$Volume_Up::
    SoundGet, volume
	volume := volume + 1
    Send {Volume_Up}
    SoundSet, volume
	SoundSet, volume
	SoundSet, volume
Return

$Volume_Down::
    SoundGet, volume 
	volume := volume - 1
    Send {Volume_Down}
    SoundSet, volume
	SoundSet, volume
	SoundSet, volume
Return

Для того, чтоб вызывалось стандартное Windows OSD нужно обязательно вызывать "Send {Volume_Down}" или "Send {Volume_UP}". Но тогда прыгает ползунок и иногда сбоит.

  • Сначала считывается значение звука

  • Далее увеличивается или уменьшается на 2% (т.е. срабатывает стандартная виндовая логика)

  • Тогда присваивается старое значение +-1

Из-за такой логики ползунок иногда сбоит, но в целом работает более-менее нормально. Пока не придумал как пофиксить.
Скрин Windows OSD, которое срабатывает с этим скриптом прилагаю (при прослушивании ютуба в Chrome).

http://forum.script-coding.com/misc.php?action=pun_attachment&item=1946&download=0

Post's attachments

Screenshot_2.jpg 21.41 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

5

Re: AHK: Контроль громкости с клавиатуры

serzh82saratov пишет:

По мне, так даже этот на скорую руку, лучше смотрится, чем встроенный.

Я потому и хочу встроенный сохранить, т.к. в зависимости от приложения он разный. Если в браузере ютуб смотреть - то там мультимедиа панель еще есть. В других приложениях - по другому (видимо зависит от приложения).

6

Re: AHK: Контроль громкости с клавиатуры

Понял, не замечал панель.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui