次の方法で共有


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

SetMasterVolumeLevel メソッドは、オーディオ エンドポイント デバイスに出入りするオーディオ ストリームのマスター ボリューム レベルをデシベル単位で設定します。

構文

HRESULT SetMasterVolumeLevel(
  [in] float   fLevelDB,
  [in] LPCGUID pguidEventContext
);

パラメーター

[in] fLevelDB

新しいマスター ボリューム レベル (デシベル)。 このメソッドで設定できるボリューム レベルの範囲と粒度を取得するには、 IAudioEndpointVolume::GetVolumeRange メソッドを呼び出します。

[in] pguidEventContext

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

戻り値

メソッドが成功した場合は、S_OK を返します。 失敗した場合、次の表に示す値が含まれますが、これに限定されません。

リターン コード 説明
E_INVALIDARG
パラメーター fLevelDB は、デバイスでサポートされているボリューム範囲の外にあります。
E_OUTOFMEMORY
メモリが不足しています。

解説

ボリューム レベル fLevelDBIAudioEndpointVolume::GetVolumeRange メソッドによって報告されたボリューム範囲を超えた場合、 SetMasterVolumeLevel 呼び出しは失敗し、エラー コード E_INVALIDARGを返します。

要件

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

関連項目

IAudioEndpointVolume インターフェイス

IAudioEndpointVolume::GetVolumeRange

IAudioEndpointVolumeCallback インターフェイス

IAudioEndpointVolumeCallback::OnNotify