ADBLOCK_MSG
Быстрое переключение устройств воспроизведения с использованием AutoItОпубликовано: 26.05.2011, 12:39 Автор: Ogri Просмотров: 22540
Не так давно прикупил bluetooth stereo headset (Motorola S9-HD кстати, вот он:
Классный саунд, встроенный микрофон. Очень доволен, рекомендую). Спарил с ноутом, слушаю через него кино (не группу, а звук от фильмов, хотя и ее иногда тоже). Старые проводные наушники тоже иногда подключаю, например, когда по рассеянности вовремя не зарядил батарею новых. Процесс переключения устройств воспроизведения не такой уж и трудоемкий: правый клик на иконке-динамике в трее -> выбор пункта Устройства воспроизведения (Playback devices) -> в открывшемся окне Звук (Sound) во вкладке Воспроизведение (Playback) клик на соответствующее устройство и затем на кнопку По умолчанию (Set Default). Но все-таки эту последовательность действий каждый раз выполнять было лениво и захотелось автоматизировать как-нибудь по-легкому.
Для этой цели отлично подошла утилита 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 - мощный инструмент для автоматизации всевозможных системных процессов. Рекомендую как себе, так и вам изучить его функционал. Но применять его следует с разумной осторожностью, использовать проверенные скрипты из надежных источников, чтобы ненароком не уронить систему.
Новые
-
24.12.2017, 01:25
Внедрение Windows Mail в Windows 10 версии 1709+. MAPI восстановлен! -
13.11.2017, 19:33
Внедрение Windows Mail в Windows 10 версии 1709 -
14.11.2016, 14:23
Переустановка Windows 10 поверх существующей -
10.03.2016, 23:39
Новая жизнь для старого ноутбука -
14.04.2015, 16:33
Переустановка Windows 7 поверх существующей
Авторизация
Гитара
Гостевая колонка
Последние комментарии
-
Активизация Windows Mail в Windows 7
-
MMH
13.06.2021 05:20
Нашёл программу, которая автоматически восстанавливает Windows Mail и программу "Календарь" в системах ...
-
MMH
13.06.2021 05:20
-
Внедрение Windows Mail в Windows 10 версии 1709+. MAPI восстановлен!
-
Mr.Hunt
13.12.2023 10:23
Всем привет! Кто может подсказать, каким образом патчится msoe.dll ? Суть в том, что на Windows 10 ...
-
серегей
23.02.2022 10:32
Получится! не сомневайтесь после обновления 10ки у меня слетело то что настроено было боялся что ...
-
Евгений
23.02.2022 10:10
Сегодня 23.02.2022г. не знаю как поживают создатели этих костылей, но выражаю им огромное СПАСИБО!
-
nagel
04.12.2021 03:51
привет. провёл этот фокус на win11. всё почти сработало. почтовик запускается. но не запускаются ...
-
sfatim
02.11.2021 09:46
Здравствуйте подскажите пожалуйста как исправить английский на русский в кладке учетные записи ?
-
Mr.Hunt
13.12.2023 10:23
-
Переустановка Windows 7 поверх существующей
-
Старый
09.03.2022 14:57
Это просто,смотри в системных файлах.Должна появиться *лишняя*папка,под названием Windows.old,т.е ...
-
Arsenii
24.01.2022 05:23
как узанть стоит ли винда поверх другой винды?
-
Arsenii
24.01.2022 05:22
как узнать стоит ли твоя винда поверх другой?
-
Старый
09.03.2022 14:57
-
Проверка целостности системных файлов Windows 7
-
Александр красавчик
04.11.2021 21:28
Спс бро выручил, АДМИНУ ГЕЛИК, то что надо
-
Александр красавчик
04.11.2021 21:28
Комментарии
В моем случае (русскоязычная винда) нужно было писать так в начале:
Dim $ConfigWindowTitle = "Звук"
Четыре пробела необязательными оказались. Я вообще убрал эту строку, хотя можно было и оставить!
А сочетание клавиш Send("!s") у меня почему-то не заработало. Пришлось городить вот такую конструкцию (частный случай):
; Вызов контекстного меню и выбор пункта "использовать по умолчанию"
Send("{APPSKEY}")
Send("{DOWN}")
Send("{DOWN}")
Send("{DOWN}")
Send("{ENTER}")
Dim $ConfigWindowTitle = "Звук" - истинная правда. Поскольку всегда работал с английскими виндами - не учел. Вношу в текст статьи.
Четыре пробела - вы, видимо, имели в виду табуляцию. Попробовал закомментировать строку - действительно, работает и без них. Но убирать не буду: кто знает, возможно, в определенных условиях это важно. Пока же - не мешает.
А вот Send("!s") у вас не заработало опять-таки по причине русского языка интерфейса. Вам нужно заменить на Send("!ч"). Также добавляю в текст.
Еще раз спасибо, что обратили внимание на не охваченный в статье случай и помогли дополнить. Вебдваноль в действии! ))