私は音声ライブラリを使用するプログラムを作成しています。女性が話しているときに、他のすべての音をミュートまたは削減したいと考えています。
他のアプリケーションを手動でミュートする方法を探していましたが、Windows の通信タブ (サウンド オプション内) に、ウィンドウでこれを管理できるというオプションが表示されました。この写真のように:
基本的に、アプリケーションが通信アプリケーション (Skype など) と見なされるには何が必要ですか?
私は音声ライブラリを使用するプログラムを作成しています。女性が話しているときに、他のすべての音をミュートまたは削減したいと考えています。
他のアプリケーションを手動でミュートする方法を探していましたが、Windows の通信タブ (サウンド オプション内) に、ウィンドウでこれを管理できるというオプションが表示されました。この写真のように:
基本的に、アプリケーションが通信アプリケーション (Skype など) と見なされるには何が必要ですか?
通信アプリはIAudioVolumeDuckNotification
インターフェイスに関連する何かを実装していると思います。提供されている C++ の例では、十分なリファレンスWM_VOLUME_DUCK
とWM_VOLUME_UNDUCK
Windows メッセージも提供されています (ただし、Google 対応または文書化されていないようです)。
アップデート
CodePlexの.NET Core Audio API プロジェクトは、.NET ラッパーを提供しているようです。
アップデート
C++ のサンプル実装と状態IAudioVolumeDuckNotification
を通知する例はducked
、MSDNDuckingMediaPlayer
サンプル アプリケーションにあります。それは実際に動作します(私はそれを試しました)。いくつかのメソッドを PInvoke することと、インターフェイスの .NET ラッパーを組み合わせれば、目的を達成するのに十分なはずです。