2012-01-16 7 views
18

私はSpeechライブラリを使用するプログラムを作っています。女性が話しているときに、他のすべてのサウンドをミュートまたは縮小したいと思います。私のアプリケーションをWindowsの通信プログラムと見なす方法

私は他のアプリケーションを手動でミュートする方法を探していましたが、ウィンドウではこれを管理できる通信タブ(サウンドオプション内)にWindowsのオプションがあります。この絵のように:私のアプリケーションは、(Skypeなど)通信アプリケーションとして考慮されるために

enter image description here

だから、基本的に、それは何を取るのでしょうか?

+1

http://msdn.microsoft.com/en-us/library/windows/desktop/dd940522(v=vs.85).aspxが該当している可能性があります。答えを書くのに十分詳細に見ていない。 – Random832

+0

多分[this](http://msdn.microsoft.com/en-us/library/windows/desktop/dd316773%28v=vs.85%29.aspx)はあなたが探しているものです。決してそれを使ってはいけません。そのようなアプリケーションとしてあなたのプログラムを登録する方法をあなたに与えることはできません。 – dowhilefor

答えて

5

コミュニケーションアプリは、IAudioVolumeDuckNotificationインターフェイスに関連するものを実装していると思います。提供されているC++の例では、WM_VOLUME_DUCKWM_VOLUME_UNDUCKのWindowsメッセージも参照できます(ただし、Googleでは表示されない、または文書化されていない可能性があります)。 CodePlexの上

UPDATE

.NET Core Audio API projectは、.NETラッパーを提供するように見えます。 IAudioVolumeDuckNotificationのサンプルC++実装ならびにducked状態を通知する例では、MSDN DuckingMediaPlayerサンプルアプリケーションに見出すことができる

UPDATE

。それは実際に働く(私はそれを試みた)。いくつかのメソッドをPInvokeすることとインターフェイスの.NETラッパーを組み合わせることで、あなたを手に入れることができます。

関連する問題