4

Я хочу легко переключаться между динамиками и наушниками. Это возможно?

2 ответа2

7

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

API хранится закрытым и недокументированным, чтобы избежать несовместимости оборудования, чтобы производители не боролись за него, как домашняя страница по умолчанию в браузере. Однако кому-то удалось переключить аудиоустройства в командной строке в Windows 7, и в комментариях WarNov уже «проверил это в Windows 8».Работает отлично ".

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

Как уже упоминалось Джерри, вы можете создавать ярлыки с плитками, просто сделайте так, чтобы они вызывали код C++. Если вы хотите использовать его в .NET, вы также можете использовать оболочку.

Код также публикуется на GitHub как AudioEndPointController с простой для понимания документацией о том, как его использовать:

> EndPointController.exe --help
Lists active audio end-point playback devices or sets default audio end-point
playback device.

USAGE
  EndPointController.exe [-a] [-f format_str]  Lists audio end-point playback
                                               devices that are enabled.
  EndPointController.exe device_index          Sets the default playback device
                                               with the given index.

OPTIONS
  -a             Display all devices, rather than just active devices.
  -f format_str  Outputs the details of each device using the given format
                 string. If this parameter is ommitted the format string
                 defaults to: "Audio Device %d: %ws"

                 Parameters that are passed to the 'printf' function are
                 ordered as follows:
                   - Device index (int)
                   - Device friendly name (wstring)
                   - Device state (int)
                   - Device default? (1 for true 0 for false as int)
                   - Device description (wstring)
                   - Device interface friendly name (wstring)
                   - Device ID (wstring)''

Он также обернут с PlaybackDevice [Переключатель аудио выхода]

1

Ну, плитка может быть ярлыком для командного файла или файла PowerShell. Нажатие на плитку выполнит пакетный файл или файл PS. Это означает, что вы можете создать плитку, чтобы просто делать что-либо в Windows.

Вот техника CS:

https://stackoverflow.com/a/2216886/265706

Ответ НЕ помеченный как ответ, кажется, решение для Windows 7/8.

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

Вот техника быстрого доступа: http://www.howtogeek.com/74331/how-to-create-your-own-windows-8-shortcuts-for-shutdown-perhaps/

Да, кстати, на устройствах с Windows RT тоже есть PowerShell

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .