Подтвердить что ты не робот

Как заставить мое приложение рассматриваться как коммуникационная программа в Windows

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

Я искал способ отключить другие приложения вручную, но я видел вариант в Windows на вкладке связи (внутри параметров звука), в котором упоминается, что это окно может управлять этим для меня. Как на картинке:

enter image description here

В основном, что нужно, чтобы мое приложение рассматривалось как коммуникационное приложение (например, Skype)?

4b9b3361

Ответ 1

Я считаю, что приложения для связи реализуют что-то, связанное с интерфейсом IAudioVolumeDuckNotification. В примере на С++ также были указаны ссылки WM_VOLUME_DUCK и WM_VOLUME_UNDUCK оконных сообщений, которые могут быть достаточно (но не отображаются как Google или не документированы).

UPDATE

. Проект .NET Core API API на CodePlex, как представляется, предоставляет оболочку .NET.

UPDATE

Пример С++-реализации IAudioVolumeDuckNotification, а также пример уведомления состояния ducked можно найти в MSDN DuckingMediaPlayer пример приложения. Это действительно работает (я попробовал). Комбинация PInvoke'a для нескольких методов и .NET-оболочки для интерфейса должна быть достаточной, чтобы вы могли на вашем пути.