Как я могу динамически выбирать аудиоустройства?

#windows #audio

#Windows #Аудио

Вопрос:

Мы с моим другом разговорились и поняли, что в Windows 7 отсутствует ключевой компонент в настройках звука для каждого приложения. Вы можете установить громкость, но вы не можете указать, какое устройство должно использовать каждое приложение.

Некоторые приложения, такие как ventrilo или skype, позволяют выбирать, какое устройство использовать, однако БОЛЬШИНСТВО приложений просто полагаются на текущее «аудиоустройство по умолчанию».

Есть ли способ получить к этому доступ? Какой язык лучше всего использовать для предоставления таких функций? Спасибо!

Комментарии:

1. Доступ к чему и откуда именно?

2. @CatPlusPlus — Я думаю, что OP хочет способ программной передачи звука из произвольного приложения на произвольное устройство вывода. Для этого в OSX существует множество пользовательских решений, но я не знаю решения для Windows.

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

4. Вы можете использовать скрипт автоотключения для быстрого переключения между двумя аудиоустройствами (погуглите, и вы найдете множество скриптов, делающих именно это)

Ответ №1:

Ventrilo и Skype могут выбирать, какое аудиоустройство использовать, потому что они запрограммированы для прямого указания устройств вывода звука, а не просто получения значений по умолчанию из ОС. Для приложений, которые запрограммированы на использование устройства Windows по умолчанию, вы, конечно, можете изменить, какое устройство является устройством по умолчанию, используя настройки звука, но это изменит значение по умолчанию для всей системы.

Установка разных аудиоустройств для отдельных приложений, которые все используют аудиоустройство по умолчанию, не обязательно поддерживается Windows, и многие приложения используют DirectSound API, что еще больше усложняет ситуацию. Однако некоторые приложения при инициализации проверяют, какое устройство используется по умолчанию, а затем выводят данные исключительно на это устройство. В этом случае вы можете изменить звуковое устройство по умолчанию на одно аудиоустройство, запустить программу, затем изменить значение по умолчанию на другое аудиоустройство, и первая программа продолжит использовать устройство, которое было по умолчанию при запуске.

Однако это довольно слабое решение и будет работать только для определенных приложений, которые были закодированы описанным выше способом.

Комментарии:

1. Это именно тот вариант использования, которого я хочу избежать, запустить, установить значение по умолчанию, запустить, установить значение по умолчанию на что-то другое.

2. Я не знаю способа настроить аудиоустройство Windows по умолчанию так, чтобы оно отображалось по-разному для разных запущенных приложений. Я бы не удивился, если бы это было невозможно сделать.