1

WASAPI を使用して、システムの音量を制御できました。特定のアプリケーションの音量レベルをプログラムで制御できるのだろうか。(もちろん、これはwindows7以降のみです)それは可能ですか?

4

1 に答える 1

1

標準のボリューム ミキサーと同じように、アプリケーション (セッション) のボリュームを制御できます。これについては、かなり詳細に説明されているセッション ボリューム コントロールを参照してください。

WASAPI クライアントは、各オーディオ セッションの音量レベルを個別に制御できます。[...]

この動作をサポートするために、WASAPI は ISimpleAudioVolume インターフェイスを実装しています。ユーザーがアプリケーション スライダーを動かすと、アプリケーションは ISimpleAudioVolume::SetMasterVolume メソッドを呼び出して、それに応じてセッションの音量レベルを調整します。Sndvol は、このメソッドによって行われたボリュームの変更を監視し、表示されるボリューム スライダーの変更を反映します。

実行中のセッションを検出するには、IAudioSessionEnumeratorインターフェイスを使用できます。ディスカバリを実装するこのコード スニペット/アプリケーションを見てください: AudioSessionVolumeNotification

于 2013-06-30T06:04:33.400 に答える