Быстрое переключение устройств воспроизведения с использованием AutoItОпубликовано: 26.05.2011 12:39 Автор: Ogri Просмотров: 14149
Не так давно прикупил 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 10 версии 1709+. MAPI восстановлен!
-
блятников2 26.03.2021 11:33
Людмила, подскажите пожалуйста! Вы восстановили при последнем обновлении 10й виндовс ? Уже пару лет не ...
-
Людмила 25.03.2021 03:02
Огромное спасибо!! Уже было поставила скрепя сердце другой почтовик, но не лежит сердце, ведь со ...
-
Ogri 21.06.2020 23:38
Ссылки подправил. Это бы глюк комментов, не указывайте http:// или https:// - тогда всё работает.
-
Дмитрий77 21.06.2020 08:17
Ссылки глючат. Ogri, можете подправить в предыдущем посте, а этот удалить? Спасибо.
-
Дмитрий77 21.06.2020 08:12
Симптомы (в моем случае после апгрейда до Windows 10 v.2004, также может возникнуть при переносе БД ...
-
-
Переустановка Windows 10 поверх существующей
-
Alexandr 19.07.2020 15:23
Доброго дня! Начинает выполняться пункт 6 и... выдает окошко "Ошибка установки Widows и 1 кнопка ...
-
Евгений Голяев 04.06.2020 06:02
Короче ни хуя нужного и ценного не сохранится при переустановке, все приложения устанавливать заново.
-
-
Разбор полетов, или Активизация Windows Mail в Windows 7 - три года спустя
-
KPbICKAYC 19.05.2020 08:23
Сервис --> Учетные записи --> Свойство --> Безопасность --> Параметры шифрования
-
DimaS 18.05.2020 04:32
Спасибо. Да, разобрался. Что-то очень сильно затупил от усталости )))))
-
-
Установка Windows XP: синдром 34-й минуты
-
Андрей 13 26.07.2020 02:59
Спасибо огромное! Благодаря этому совету нетбук обрёл новую жизнь! Дай БОГ Вам здоровья. Вот это ...
-
Комментарии
В моем случае (русскоязычная винда) нужно было писать так в начале:
Dim $ConfigWindowTitle = "Звук"
Четыре пробела необязательными оказались. Я вообще убрал эту строку, хотя можно было и оставить!
А сочетание клавиш Send("!s") у меня почему-то не заработало. Пришлось городить вот такую конструкцию (частный случай):
; Вызов контекстного меню и выбор пункта "использовать по умолчанию"
Send("{APPSKEY}")
Send("{DOWN}")
Send("{DOWN}")
Send("{DOWN}")
Send("{ENTER}")
Dim $ConfigWindowTitle = "Звук" - истинная правда. Поскольку всегда работал с английскими виндами - не учел. Вношу в текст статьи.
Четыре пробела - вы, видимо, имели в виду табуляцию. Попробовал закомментировать строку - действительно, работает и без них. Но убирать не буду: кто знает, возможно, в определенных условиях это важно. Пока же - не мешает.
А вот Send("!s") у вас не заработало опять-таки по причине русского языка интерфейса. Вам нужно заменить на Send("!ч"). Также добавляю в текст.
Еще раз спасибо, что обратили внимание на не охваченный в статье случай и помогли дополнить. Вебдваноль в действии! ))