Есть ли в .NET событие, когда изменяется аудиовход по умолчанию? - PullRequest
2 голосов
/ 03 августа 2010

Я использую System.Speech.Recognition в Windows 7, чтобы позволить пользователю управлять программой с помощью голосовых команд.Код распознавания интегрирован в саму программу.Теперь механизм распознавания создается при запуске программы и воссоздается, если пользователь меняет язык распознавания голоса.Все это прекрасно работает.

Недавно у нас возникла проблема с созданием механизма распознавания.Если системный аудиовход по умолчанию изменяется во время выполнения программы, мы не можем ответить на него.В частности, если микрофон был отключен при запуске программы, механизм распознавания не сможет найти вход.Я ухожу в инвалидное состояние.Если позже подключится микрофон, я бы хотел, чтобы программа заметила это и обновила движок.

Есть ли незащищенное событие, когда изменяется системный аудиовход по умолчанию?

1 Ответ

1 голос
/ 03 августа 2010

Вам необходимо реализовать IMMNotificationClient и вызвать IMMDeviceEnumerator :: RegisterEndpointNotificationCallback.У парней NAudio есть обертка для C #;Я бы посмотрел на это.

...