Вопрос или проблема
Можно ли записывать/остановить/воспроизводить в Audacity, не имея фокуса на окне Audacity? То есть, глобальные горячие клавиши?
Audacity не поддерживает глобальные горячие клавиши, поэтому необходимо использовать сторонний инструмент. Я буду использовать бесплатный AutoHotkey.
Следующий скрипт AutoHotkey назначит следующие горячие клавиши:
- Win+P, обозначающий Воспроизведение, на Space для окон, принадлежащих процессу
audacity.exe
- Горячая клавиша Win+S для Остановки сделает то же самое и добавлена здесь исключительно для ясности
- Горячая клавиша Win+R для Записи будет назначена на клавишу R.
Это скрипт AutoHotkey:
#r:: ;запись
if WinExist("ahk_exe audacity.exe")
ControlSend, , r, ahk_exe audacity.exe
return
#s:: ;остановка
#p:: ;воспроизведение
if WinExist("ahk_exe audacity.exe")
ControlSend, , {Space}, ahk_exe audacity.exe
return
После установки AutoHotKey сохраните скрипт в файл .ahk
и дважды щелкните
по нему, чтобы протестировать. Вы можете остановить скрипт, щелкнув правой кнопкой мыши на зелёной иконке H в
панели задач и выбрав Выход.
Чтобы он выполнялся при входе в систему, разместите его в группе Автозагрузка по адресу
C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
.
Полезная документация по AutoHotkey:
Я внес некоторые изменения в скрипт в ответе harrymc:
- обновлено для AutoHotKey 2
- вторая комбинация для паузы, что позволяет использовать одну клавишу
#Requires AutoHotkey v2.0
#r:: { ; Windows+R: Запись
if WinExist("ahk_exe audacity.exe") {
hwnd := WinExist("ahk_exe audacity.exe") ; Получение дескриптора окна Audacity
if hwnd {
PostMessage(0x100, 0x52, 0, , hwnd) ; Сообщение WM_KEYDOWN для клавиши Space
PostMessage(0x101, 0x52, 0, , hwnd) ; Сообщение WM_KEYUP для клавиши Space
}
}
}
#s:: { ; Windows+S: Остановка/Воспроизведение
if WinExist("ahk_exe audacity.exe") {
hwnd := WinExist("ahk_exe audacity.exe") ; Получение дескриптора окна Audacity
if hwnd {
PostMessage(0x100, 0x20, 0, , hwnd) ; Сообщение WM_KEYDOWN для клавиши Space
PostMessage(0x101, 0x20, 0, , hwnd) ; Сообщение WM_KEYUP для клавиши Space
}
}
}
#p::PauseResume() ; Windows+P
Pause::PauseResume() ; клавиша Пауза/Перерыв
PauseResume() {
if WinExist("ahk_exe audacity.exe") {
hwnd := WinExist("ahk_exe audacity.exe") ; Получение дескриптора окна Audacity
if hwnd {
PostMessage(0x100, 0x50, 0, , hwnd) ; Сообщение WM_KEYDOWN для клавиши Space
PostMessage(0x101, 0x50, 0, , hwnd) ; Сообщение WM_KEYUP для клавиши Space
}
}
}
Ответ или решение
Audacity – это популярное программное обеспечение для редактирования аудио, которое широко используется как профессионалами, так и любителями. Однако одним из ограничений Audacity является отсутствие встроенной поддержки глобальных горячих клавиш (шорткатов). Это значит, что для управления процессами, такими как запись, остановка и воспроизведение аудио, необходимо, чтобы окно Audacity находилось в фокусе.
Для пользователей, которым необходимо управлять Audacity без активного фокуса на его окне, существует решение — использование стороннего программного обеспечения, такого как AutoHotkey. Это бесплатный инструмент, позволяющий создавать скрипты для автоматизации задач и назначения горячих клавиш для управления различными приложениями.
Как использовать AutoHotkey для глобальных горячих клавиш в Audacity
AutoHotkey позволяет реализовать такие шорткаты, как запись, остановка и воспроизведение, даже когда Audacity неактивен.
Пример скрипта AutoHotkey
Скрипт ниже иллюстрирует, как можно настроить горячие клавиши для управления Audacity:
#Requires AutoHotkey v2.0
#r:: { ; Windows+R: Запись
if WinExist("ahk_exe audacity.exe") {
hwnd := WinExist("ahk_exe audacity.exe") ; Получение дескриптора окна Audacity
if hwnd {
PostMessage(0x100, 0x52, 0, , hwnd) ; Отправка сообщения WM_KEYDOWN для клавиши R
PostMessage(0x101, 0x52, 0, , hwnd) ; Отправка сообщения WM_KEYUP для клавиши R
}
}
}
#s:: { ; Windows+S: Стоп/Воспроизведение
if WinExist("ahk_exe audacity.exe") {
hwnd := WinExist("ahk_exe audacity.exe") ; Получение дескриптора окна Audacity
if hwnd {
PostMessage(0x100, 0x20, 0, , hwnd) ; Отправка сообщения WM_KEYDOWN для пробела
PostMessage(0x101, 0x20, 0, , hwnd) ; Отправка сообщения WM_KEYUP для пробела
}
}
}
#p::PauseResume() ; Windows+P
Pause::PauseResume() ; Клавиша Pause/Break
PauseResume() {
if WinExist("ahk_exe audacity.exe") {
hwnd := WinExist("ahk_exe audacity.exe") ; Получение дескриптора окна Audacity
if hwnd {
PostMessage(0x100, 0x50, 0, , hwnd) ; Отправка сообщения WM_KEYDOWN для клавиши P
PostMessage(0x101, 0x50, 0, , hwnd) ; Отправка сообщения WM_KEYUP для клавиши P
}
}
}
Инструкция по установке и запуска
-
Скачайте и установите AutoHotkey с официального сайта AutoHotkey.
-
Создайте новый текстовый файл с расширением
.ahk
и вставьте в него предложенный скрипт. -
Запустите скрипт, двойным кликом по файлу. Вы сможете управлять Audacity с помощью горячих клавиш, не активируя окно программы.
-
Для автоматического запуска скрипта при загрузке Windows, добавьте его в автозагрузку, переместив файл скрипта в папку
C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
.
Заключение
Хотя Audacity не поддерживает внедрение глобальных горячих клавиш, пользователи могут легко обойти это ограничение с помощью AutoHotkey. Настройка таких простых и функциональных горячих клавиш позволяет значительно улучшить процесс работы с программой, особенно в тех случаях, когда требуется активное многозадачное управление.