Нет( Проблема синхронизации, чем бы не делалась в том, что перехватывает горячие кнопки управления громкостью. А OSD Windows реагирует именно на них.
Перехват решается добавлением тильды (~) перед горячей клавишей
~Volume_Mute:: SoundSet, -1, %ComponentID%, MUTE, DeviceNumber Return
Воу. Это сработало. Насколько же простое было решение. Офигеть. Огромное спасибо. OSD виндоус и ModernFlyouts теперь показывается, и громкость меняется нужного устройства.
А возможно ли ещё как-нибудь громкость обоих устройств синхронизировать? Потому что по какой-то причине сейчас это всё работает с опозданием. OSD отображается устройства по умолчанию, и если выставив у обоих например громкость 40, и быстро зажав кнопку уменьшить до 14, то у настоящего устройства она изменится лишь до 26. Получается, показывается 14, а на деле - 26
Ну, это из-за того, что настоящая громкость изменяется скриптом, при зажатии не успевает 🤔 Можно попробовать SetBatchLines, -1 в начале скрипта, вроде бы положительно сказывается на скорости работы
Да, потому что если менять медленно - всё идеально, но чем больше зажатие - тем больше разница. С 20 до 32 - скрипт опоздал лишь на 4. Добавил эту строчку над DeviceNumber := 1 - всё равно опоздывает, вообще разницы не заметил
Обсуждают сегодня