次の方法で共有


ISimpleAudioVolume::SetMute メソッド (audioclient.h)

SetMute メソッドは、オーディオ セッションのミュート状態を設定します。

構文

HRESULT SetMute(
  [in] const BOOL bMute,
  [in] LPCGUID    EventContext
);

パラメーター

[in] bMute

新しいミュート状態。 TRUE を 指定すると、ミュートが有効になります。 FALSE を指定 すると、ミュートが無効になります。

[in] EventContext

イベント コンテキスト GUID へのポインター。 このメソッドの呼び出しによってボリューム変更イベントが生成された場合、セッション マネージャーは 、セッション マネージャーと IAudioSessionEvents インターフェイスを登録しているすべてのクライアントに通知を送信します。 セッション マネージャーには、通知ごとに EventContext ポインター値が含まれます。 通知を受け取ると、クライアントは EventContext 値を調べることで、そのクライアントまたは別のクライアントがイベントのソースであるかどうかを判断できます。 このスキームは、セッション内のすべてのクライアント間で一意であるこのパラメーターの値を選択するクライアントによって異なります。 呼び出し元がこのパラメーターに NULL ポインターを指定した場合、クライアントの通知メソッドは NULL コンテキスト ポインターを受け取ります。

戻り値

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

リターン コード 説明
AUDCLNT_E_DEVICE_INVALIDATED
オーディオ エンドポイント デバイスが取り外されているか、オーディオ ハードウェアまたは関連するハードウェア リソースが再構成、無効、削除、またはその他の方法で使用できなくなります。
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows オーディオ サービスが実行されていません。

解説

このメソッドは、メソッド呼び出しによってセッションのミュート状態が disabled から enabled に変更された場合、または enabled から disabled に変更された場合にのみ、ボリューム変更イベントを生成します。 たとえば、呼び出しが発生したときにミュートが有効で、呼び出しでミュートが有効になっている場合、イベントは生成されません。

このメソッドは、オーディオ セッション内のすべてのチャネルに同じミュート状態を適用します。 エンドポイント デバイスは常に、セッション内のすべてのチャネルに一様にミュートを適用します。 個々のチャネルのミュート状態を設定するための IChannelAudioVolume メソッドはありません。

クライアントは、 SimpleAudioVolume::GetMute メソッドを呼び出すことで、オーディオ セッションのミュート状態を取得できます。

要件

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

関連項目

IAudioSessionEvents インターフェイス

IChannelAudioVolume インターフェイス

ISimpleAudioVolume インターフェイス

ISimpleAudioVolume::GetMute