2012-01-16 21 views
18

Robię program wykorzystujący bibliotekę Mowy i chciałbym, aby wszystkie inne dźwięki były wyciszone lub zredukowane, gdy kobieta mówi.Jak ustawić moją aplikację jako program komunikacyjny w systemie Windows?

Szukałem sposobu ręcznego wyciszania innych aplikacji, ale widziałem opcję w Windows na karcie komunikacyjnej (w opcjach dźwięku), która wspomina, że ​​to okno może zarządzać tym dla mnie. Jak na tym zdjęciu:

enter image description here

Więc w zasadzie, co trzeba zrobić, aby moja aplikacja powinna być traktowana jako aplikacja komunikacji (takich jak Skype)?

+1

http://msdn.microsoft.com/en-us/library/windows/desktop/dd940522(v=vs.85).aspx mogą być odpowiednie. Nie spojrzałem na to wystarczająco szczegółowo, aby napisać odpowiedź. – Random832

+0

Może to (http://msdn.microsoft.com/en-us/library/windows/desktop/dd316773%28v=vs.85%29.aspx) jest tym, czego szukasz. Nigdy nie używałam go samodzielnie, więc nie mogę dać ci właściwego sposobu rejestracji programu jako takiej aplikacji. – dowhilefor

Odpowiedz

5

Wierzę, że aplikacje komunikacyjne implementują coś związanego z interfejsem IAudioVolumeDuckNotification. Dostarczony przykład C++ odwołuje się także do okien Windows, które mogą być wystarczające (ale nie wydają się być w stanie google ani udokumentowane).

UPDATE

.NET Core Audio API project na CodePlex wydaje się zapewniać otoki .NET.

UPDATE

Próbka C++ realizacja IAudioVolumeDuckNotification jak przykład powiadamianie stanu ducked można znaleźć w zgłoszeniu próbki MSDN DuckingMediaPlayer. To działa (próbowałem). Połączenie PInvoke'ing kilku metod i wrappera .NET dla interfejsu powinno wystarczyć, abyś był na dobrej drodze.

Powiązane problemy