私のアプリケーションをWindowsのコミュニケーションプログラムと見なす方法
-
29-10-2019 - |
質問
私はスピーチライブラリを使用するプログラムを作成しています。女性が話しているときに他のすべてのサウンドをミュートまたは縮小したいと思います。
私は他のアプリケーションを手動でミュートする方法を探していましたが、ウィンドウが私のためにこれを管理できることを言及する[サウンドオプションの内部)の[通信]タブの[Sound]タブ内のオプションを見てきました。この写真のように:
基本的に、私のアプリケーションを通信アプリケーション(Skypeなど)と見なすには何が必要ですか?
解決
通信アプリはに関連するものを実装していると思います IAudioVolumeDuckNotification
インターフェース。 C ++の例は、参照も提供されています WM_VOLUME_DUCK
と WM_VOLUME_UNDUCK
十分かもしれないWindowsメッセージ(ただし、Google-ableまたは文書化されているようには見えません)。
アップデート
.NETコアオーディオAPIプロジェクト CODEPLEXでは、.NETラッパーを提供しているように見えます。
アップデート
のサンプルC ++実装 IAudioVolumeDuckNotification
通知の例と同様に ducked
状態はMSDNにあります DuckingMediaPlayer
サンプルアプリケーション。実際に機能します(試しました)。 Pinvokeのいくつかの方法とインターフェイスの.NETラッパーの組み合わせは、あなたを導くのに十分なはずです。
所属していません StackOverflow