Рейтинг@Mail.ru

Переключение устройств воспроизведения одним кликом

В Windows 7 (а также 8 и Vista) была отключена возможность одновременного вывода звука на несколько устройств сразу, например через выход на колонки и цифровой выход S/PDIF. Поскольку в Windows XP такая возможность была, остается лишь гадать о намерениях Microsoft.


Что переключить устройство воспроизведения по умолчанию, необходимо сделать 5 кликов мышкой. Ужасно неудобно!

Прежде всего нужно нажать правой кнопкой мыши по значку динамика в панели управления. Затем выбрать пункт Устройства воспроизведения, выбрать нужное устройство и нажать По умолчанию, после чего закрыть окно. Делаеть это каждый раз надоест кому угодно.
Первые варианты автоматизации процесса сводились к эмуляции кликов мышкой с помощью утилиты AutoIt, вызвающей панель управления звуком – командой mmsys.cpl в командной строке (параметр mmsys.cpl ,0 открывает первую вкладку). К сожалению, этот способ весьма несовершенен: любое нажатие кнопки во время выполнения скрипта приводит к сбоем в его работе.
Прорыв был совершен соотечественником под ником EreTIk, сумевшим разгадать секрет Microsoft. Дело в том, что Майкрософт держит API переключения звука в строжайшем секрете от производителей драйверов и ПО, чтобы избежать ситуации когда разные программы самостоятельно переключают устройство воспроизведения по умолчанию. EreTIk написал программу DefSound (пароль easylife), позволяющая переключать устройства через трей. Однако, и этот способ не лишен недостатков, т.к. все равно нужно делать несколько кликов, да и сама программа часто вылетает.
Лучшим решением для быстрого переключения между устройствами воспроизведения является ярлык на рабочем столе. Для этого на основе находки EreTIk, была написана более совершенная программа PlaybackDevice (пароль easylife). Как ей пользоваться?

В качестве примера используем компьютер с тремя устройствами воспроизведения: HDMI звук через видеокарту NVIDIA, аналоговый звук через звуковую карту(отключен) и оптический цифровой звук S/PDIF. Для обычной работы используется HDMI подключение к телевизору, а кино и музыка воспроизводится через подключенный по TOSLINK многоканальный ресивер.
Для быстрого переключения между ними воспользуемся утилитой PlaybackDevice, которая в свою очередь является графической оболочкой к программе EndPointController.
Распаковав архив, запускаем PlaybackDevice.exe. Каждый запуск программы переключает воспроизведение с первого на второе устройство и обратно. При этом на экран выводятся соответствующие картинки. Картинки можно заменить на свои, поменяв файлы в папке Res/Images. Изображения должны быть в формате .png . Для улучшения внешнего вида, фон желательно делать прозрачным (transparent). Неплохим решением является замена картинок на скаченные из интеренета фотографии устройств, на которые выводится звук в данный момент – например, телевизора и ресивера. Оригинальные поставляемые с программой файлы для наушников и колонок находятся в папке Res\Image_Original.

Если у вас больше двух устройств, то необходимо указать их количество в файле Res\settings.ini, изменив параметр DeviceCount.

DevicesCount=2

Кроме того, в папке Res находится программа EndPointController, запуск которой с параметром 1 или 2 переключается на соответствующее устройство.

EndPointController.exe 2

Добавив соответствующие ярлыки на рабочий стол, можно быстро переключаться на нужное устройство в одно нажатие кнопки мышки.

Если же добавить ярлык для PlaybackDevice, то каждый клик на него будет переключать устройство воспроизведения звука на следующее в списке.

1 thought on “Переключение устройств воспроизведения одним кликом”

  1. Спасибо за обзор. Избавился от кучи проблем.
    Кста, нумерация устройств начинается с 0.

Leave a Comment