18

私は音声ライブラリを使用するプログラムを作成しています。女性が話しているときに、他のすべての音をミュートまたは削減したいと考えています。

他のアプリケーションを手動でミュートする方法を探していましたが、Windows の通信タブ (サウンド オプション内) に、ウィンドウでこれを管理できるというオプションが表示されました。この写真のように:

ここに画像の説明を入力

基本的に、アプリケーションが通信アプリケーション (Skype など) と見なされるには何が必要ですか?

4

1 に答える 1

5

通信アプリはIAudioVolumeDuckNotificationインターフェイスに関連する何かを実装していると思います。提供されている C++ の例では、十分なリファレンスWM_VOLUME_DUCKWM_VOLUME_UNDUCKWindows メッセージも提供されています (ただし、Google 対応または文書化されていないようです)。

アップデート

CodePlexの.NET Core Audio API プロジェクトは、.NET ラッパーを提供しているようです。

アップデート

C++ のサンプル実装と状態IAudioVolumeDuckNotificationを通知する例はducked、MSDNDuckingMediaPlayerサンプル アプリケーションにあります。それは実際に動作します(私はそれを試しました)。いくつかのメソッドを PInvoke することと、インターフェイスの .NET ラッパーを組み合わせれば、目的を達成するのに十分なはずです。

于 2012-01-16T20:42:34.920 に答える