Skip to main content

CreateCaptureAudioStateMonitor

[一部の情報は、市販前に大幅に変更される可能性のあるプレリリース製品に関するものです。Microsoft は、ここに記載されている情報に関して、明示または黙示のいかなる保証も行いません。] すべてのオーディオ キャプチャ ストリームのオーディオ レベルを監視する、IAudioStateMonitor の新しいインスタンスを作成します。

構文

パラメーター

audioStateMonitor _Out_ 型: IAudioStateMonitor** 作成された IAudioStateMonitor オブジェクトがこの出力パラメーターに設定されます。

戻り値

型: HRESULT メソッドが成功した場合、S\_OK が返されます。

解説

これは、AudioStateMonitor インスタンスを作成して返す関数の 1 つです。 キャプチャ ストリームとレンダー ストリームのそれぞれに 4 つのバリアントがあり、特定のロールに対してプロセスが以下のいずれを実行できるかを決定します。
  • あらゆるカテゴリの任意のオーディオをキャプチャまたはレンダリングする
  • 特定のカテゴリのオーディオをキャプチャまたはレンダリングする
  • 特定のカテゴリのオーディオを特定のエンドポイントに対してキャプチャまたはレンダリングする。エンドポイントは MMDevice ID (IMMDevice::GetId() を使用して取得) または SWD ID (Windows.Devices.Enumeration あるいは Windows.Media.Devices.MediaDevice を使用して取得) を用いて指定できます。
  • 特定のカテゴリのオーディオを既定のエンドポイントに対してキャプチャまたはレンダリングする
次のシナリオを考えてみます。ゲームが、OS のポリシーによってオーディオがミュートされないことがわかっている場合にのみ、ゲーム内 GameChat 機能を有効化したいとします。これを実現するために、ゲームは既定の通信エンドポイントの AudioCategory_GameChat ストリーム カテゴリに対して SoundLevel 通知を登録します。 このカテゴリの SoundLevel が ‘Muted’ に設定されている場合、ゲームは GameChat セッションを停止します。SoundLevel がそれ以外の値に設定されている場合、ゲームは GameChat ストリームを有効化します。 次のコード例は、このシナリオに合わせて適切な IAudioStateMonitor オブジェクトをゲームで作成する方法を示しています。

要件

ヘッダー: Audiostatemonitorapi.h ライブラリ: Windows.Media.MediaControl.lib サポートされるプラットフォーム: Windows、XBOX One ファミリ本体および XBOX Series 本体

概念ドキュメント

関連項目

AUDIO_STREAM_CATEGORY WASAPI について WASAPI
最終更新日 2026年8月24日