Перемотка видео в браузере горячими клавишами из другого приложения

Рейтинг: 0Ответов: 1Опубликовано: 30.07.2023

Допустим у меня на 1 экране браузер с YouTube видео , на втором - программа для рисования. Клавиши пауза/воспроизвести и следующее, предыдущее отлично работают, когда я рисую и мне нужно остановить либо переключить видео, но когда я хочу промотать 10 секунд назад или вперед, то естественно я этого сделать не могу пока я не перейду и не кликну по окну браузера и не нажму двойной клик по стрелкам вперед/назад. Можно ли как то настроить чтобы я мог, пока пользуюсь другим приложением с помощью клавиатуры, перематывать видео в браузере?

Ответы

▲ 1Принят

В общем, не заморачивайтесь с AutoHotkey, да и лишний софт на компе не к добру, если больше его никак не используете.

Есть расширение для браузера: https://chrome.google.com/webstore/detail/streamkeys/ekpipjofdicppbepocohdlgenahaneen


Но раз уж заговорили про AutoHotkey, то доведём дело до конца… По ссылке какие-то базовые скрипты и ищут они "Youtube" в названии окна, что немного бред. Включил себе музочку, а в названии непосредственно трек. Если название трека слишком длинное, то надписи youtube там не будет. Поэтому поступим иначе:

#Persistent

^PgDn::
ControlMedia("^{Left}")
return

^PgUp::
ControlMedia("^{Right}")
return

^+Left::
ControlMedia("^{Ctrl Up}{Left}{Ctrl Down}")
return

^+Right::
ControlMedia("^{Ctrl Up}{Right}{Ctrl Down}")
return

^Left::
ControlMedia("{J}")
return

^Right::
ControlMedia("{L}")
return

^End::ExitApp  ;

ControlMedia(key) {
    WinGet, chromeList, List, ahk_exe chrome.exe
    WinGetActiveTitle, prevActiveTitle
    Loop, %chromeList%
    {
        chromeHWND := chromeList%A_Index%
        WinGet, chromeProcess, ProcessName, ahk_id %chromeHWND%
        if (chromeProcess = "chrome.exe")
        {
            WinActivate, ahk_id %chromeHWND%
            ControlSend,, %key%, ahk_id %chromeHWND%
        }
    }
    WinActivate, %prevActiveTitle%
}

Тут:

  • Ctrl + Page Up переключит на следующий трек, если видео поделено на timestamp
  • Ctrl + Page Down на предыдущий соответственно
  • Ctrl + назад на 10 секунд
  • Ctrl + вперёд на 10 секунд
  • Ctrl + Shift + назад на 5 секунд
  • Ctrl + Shift + вперёд на 5 секунд
  • Ctrl + End прекратить выполнение скрипта

Работать будет с Chrome, если нужен другой браузер, поменять. После выполнения вернётся в активное окно.

Версию под Autohotkey v2.0 можно получить через конвертер


UPD

А нет, вру, даже в самом длинном названии всё равно в конце будет "— Youtube". Но, anyway, предложил элегантное решение по переключению обратно в окно.