IAudioEndpointVolume::SetMasterVolumeLevelScalar メソッド (endpointvolume.h)

SetMasterVolumeLevelScalar メソッドは、オーディオ エンドポイント デバイスに出入りするオーディオ ストリームのマスター ボリューム レベルを設定します。 ボリューム レベルは、0.0 から 1.0 の範囲の正規化されたオーディオテーパ値として表されます。

構文

HRESULT SetMasterVolumeLevelScalar(
  [in] float   fLevel,
  [in] LPCGUID pguidEventContext
);

パラメーター

[in] fLevel

新しいマスター ボリューム レベル。 レベルは、0.0 から 1.0 の範囲の正規化された値として表されます。

[in] pguidEventContext

IAudioEndpointVolumeCallback::OnNotify メソッドのコンテキスト値。 このパラメーターは、イベント コンテキスト GUID を指します。 SetMasterVolumeLevelScalar 呼び出しによってエンドポイントのボリューム レベルが変更された場合、そのエンドポイントに IAudioEndpointVolumeCallback インターフェイスを登録しているすべてのクライアントが通知を受け取ります。 OnNotify メソッドの実装では、クライアントはイベント コンテキスト GUID を検査して、それがボリューム変更イベントのソースであるかどうかを検出できます。 呼び出し元がこのパラメーターに NULL ポインターを指定すると、通知ルーチンはコンテキスト GUID 値GUID_NULLを受け取ります。

戻り値

メソッドが成功した場合は、S_OK を返します。 エラーが発生した場合、次の表に示す値が、可能なリターン コードに含まれますが、これらに限定されません。

リターン コード 説明
E_INVALIDARG
パラメーター fLevel が 0.0 から 1.0 の範囲外です。
E_OUTOFMEMORY
メモリが不足しています。

解説

ボリューム レベルは 0.0 から 1.0 の範囲に正規化されます。ここで、0.0 は最小ボリューム レベル、1.0 は最大レベルです。 この範囲内では、正規化されたボリューム レベルと信号振幅の減衰の関係が、非線形のオーディオテーパ曲線によって記述されます。 今後のバージョンの Windows では、曲線の形状が変わる可能性があることに注意してください。 オーディオテーパカーブの詳細については、「 Audio-Tapered Volume Controls」を参照してください。

このメソッドに渡される正規化されたボリューム レベルは、アプリケーション ウィンドウおよび画面上のディスプレイでのボリューム コントロールの位置を表すために適しています。

SetMasterVolumeLevelScalar を呼び出すコード例については、「Endpoint Volume Controls」を参照してください。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー endpointvolume.h

関連項目

IAudioEndpointVolume インターフェイス

IAudioEndpointVolumeCallback インターフェイス

IAudioEndpointVolumeCallback::OnNotify