ADBLOCK_MSG
Для этой цели отлично подошла утилита AutoIt (ее можно скачать бесплатно с офсайта). В сети нашелся соответствующий скрипт, вот он:
;-----Configuration----- ;The title of the sound config window. Dim $ConfigWindowTitle = "Sound" ;-----End of configuration---- Dim $ItemNumber = 1 If $CmdLine[0] >= 1 Then ;If we have a parameter... $ItemNumber = $CmdLine[1] ;...we should press the button the specified number of times. EndIf Run("control mmsys.cpl") ;Run the sound control applet and hide it. WinWaitActive($ConfigWindowTitle) ;Wait for it to be active before sending keystrokes. Send("{TAB}{TAB}{TAB}{TAB}") ;Put the focus on the list For $i = 1 to $ItemNumber Step 1 Send("{DOWN}") Next Send("!s") ;Press Alt + S to set the selected device as the default. WinClose($ConfigWindowTitle)
Копируем код в текстовый файл и сохраняем с расширением .au3
. Например, toggle-playback.au3
. Поместим его в папку скриптов AutoIt3, я использовал уже имеющуюся папку Examples
. Затем открываем окно Звук (Sound) как описано выше. Мое выглядит так:
Меня интересуют первые два устройства. Bluetooth Audio Device - это та самая гарнитура, номер 1 в списке. Номер 2 - встроенные динамики и выход аудиокарты. Номера понадобятся для дальнейшей настройки - запомнили их.
Далее возможно два альтернативных варианта.
1. Создаем два (или больше - по количеству переключаемых устройств) текстовых файла с расширением, типичным для командных файлов консоли - .cmd
или .bat
. Назовем их, к примеру, Bluetooth.cmd
и Speakers.cmd
. Открываем их на редактирование и набиваем следующий код.
Файл Bluetooth.cmd
:
echo off D:\Common\AutoIt3\AutoIt3_x64.exe D:\Common\AutoIt3\Examples\toggle-playback.au3 1
D:\Common
в моем случае - путь к папке AutoIt3
. Понятно, что каждый заменяет его на свой. Также я использую 64-битный вариант AutoIt, обладатели 32-битной системы заменяют AutoIt3_x64.exe
на AutoIt3.exe
. Сама же команда, как ясно, использует два параметра. Первый - файл скрипта (включая полный путь), второй же - порядковый номер включаемого устройства воспроизведения в списке, выясненный нами ранее.
Аналогично, файл Speakers.cmd
будет содержать точно такой же код, только значение второго параметра будет 2:
echo off D:\Common\AutoIt3\AutoIt3_x64.exe D:\Common\AutoIt3\Examples\toggle-playback.au3 2
Теперь запуск каждого командного файла будет активировать соответствующее устройство воспроизведения.
2. В папке Aut2Exe
имеется одноименная утилита для компиляции .au3
файлов со скриптами в исполняемый файл. Она крайне проста и понятна в использовании. Выбирается исходный файл скрипта, путь и имя exe-ковского файла, опционально - пиктограмма и битность:
Жмем кнопку Convert. Получаем файл TogglePlayback.exe
в субфолдере Examples
.
Теперь, как и в первом варианте, создаем два командных файла Bluetooth.cmd
и Speakers.cmd
. Поскольку как функциональность самого AutoIt, так и скрипт уже зашиты в TogglePlayback.exe
, достаточно запускать его с единственным параметром - номером устройства. Содержимое Bluetooth.cmd
будет таким:
echo off D:\Common\AutoIt3\Examples\TogglePlayback.exe 1
Speakers.cmd
, соответственно -
echo off D:\Common\AutoIt3\Examples\TogglePlayback.exe 2
Вот и все. Наслаждаемся возможностью перебрасывать звук между устройствами воспроизведения за один клик.
Вообще, AutoIt - мощный инструмент для автоматизации всевозможных системных процессов. Рекомендую как себе, так и вам изучить его функционал. Но применять его следует с разумной осторожностью, использовать проверенные скрипты из надежных источников, чтобы ненароком не уронить систему.
Новые
-
22.12.2020, 22:04
Кризис средней депрессии -
20.07.2020, 00:53
Joomla 3: Перенаправление на ту же страницу после авторизации -
23.06.2020, 04:53
Веллер: Борьба за счастье сносит цивилизацию -
31.05.2020, 02:38
Карантинный памфлет -
20.05.2020, 02:12
Секс во время чумы
Популярные
-
156962
Windows 7: Устранение неполадок Установщика Windows -
123620
Как активизировать учетную запись Администратора в Windows 7, 8 и 8.1 -
114648
Миграция с Joomla 1.5 на Joomla 2.5. Ч.2-1. Перенос jDownloads и jComments -
87658
Проверка целостности системных файлов Windows 7 -
87092
Активизация Windows Mail в Windows 7
Комментарии
В моем случае (русскоязычная винда) нужно было писать так в начале:
Dim $ConfigWindowTitle = "Звук"
Четыре пробела необязательными оказались. Я вообще убрал эту строку, хотя можно было и оставить!
А сочетание клавиш Send("!s") у меня почему-то не заработало. Пришлось городить вот такую конструкцию (частный случай):
; Вызов контекстного меню и выбор пункта "использовать по умолчанию"
Send("{APPSKEY}")
Send("{DOWN}")
Send("{DOWN}")
Send("{DOWN}")
Send("{ENTER}")
Dim $ConfigWindowTitle = "Звук" - истинная правда. Поскольку всегда работал с английскими виндами - не учел. Вношу в текст статьи.
Четыре пробела - вы, видимо, имели в виду табуляцию. Попробовал закомментировать строку - действительно, работает и без них. Но убирать не буду: кто знает, возможно, в определенных условиях это важно. Пока же - не мешает.
А вот Send("!s") у вас не заработало опять-таки по причине русского языка интерфейса. Вам нужно заменить на Send("!ч"). Также добавляю в текст.
Еще раз спасибо, что обратили внимание на не охваченный в статье случай и помогли дополнить. Вебдваноль в действии! ))