Headset

このページでは、Windows.Gaming.Input.Headset とユニバーサル Windows プラットフォーム (UWP) 用の関連 API を使用した、ヘッドセットを対象にしたプログラミングの基礎について説明します。

ここでは、次の項目について紹介します。

  • 入力デバイスまたはナビゲーション デバイスに接続されているヘッドセットにアクセスする方法
  • ヘッドセットが接続されている、またはヘッドセットが切断されていることを検出する方法

ヘッドセットの概要

ヘッドセットはオーディオのキャプチャと再生を行うデバイスで、オンライン ゲームで他のプレイヤーと通信するために使用することが多く、ゲームプレイや他の創作活動で使用することもできます。 ヘッドセットは、Windows.Gaming.Input 名前空間によって、Windows 10 または Windows 11 および Xbox UWP アプリでサポートされています。

ヘッドセットの検出と追跡

ヘッドセットはシステムによって管理されるため、ヘッドセットを自分で作成したり初期化する必要はありません。 システムによって、ヘッドセットが接続されている入力デバイスを通じてヘッドセットへのアクセスが提供され、ヘッドセットが接続または切断されたときにはイベントが通知されます。

IGameController.Headset

Windows.Gaming.Input 名前空間のすべての入力デバイスでは、IGameController インターフェイスが実装されます。このインターフェイスでは、現在デバイスに接続されているヘッドセットとなるように Headset プロパティを定義します。

ヘッドセットの接続と切断

ヘッドセットを接続または切断すると、HeadsetConnected および HeadsetDisconnected イベントが発生します。 入力デバイスに現在ヘッドセットが接続されているかどうかを追跡するため、これらのイベントのハンドラーを登録できます。

次の例は、HeadsetConnected イベントのハンドラーを登録する方法を示しています。

auto inputDevice = myGamepads[0]; // or arcade stick, racing wheel

inputDevice.HeadsetConnected += ref new TypedEventHandler<IGameController^, Headset^>(IGameController^ device, Headset^ headset)
{
    // enable headset capture and playback on this device
}

次の例は、HeadsetDisconnected イベントのハンドラーを登録する方法を示しています。

auto inputDevice = myGamepads[0]; // or arcade stick, racing wheel

inputDevice.HeadsetDisconnected += ref new TypedEventHandler<IGameController^, Headset^>(IGameController^ device, Headset^ headset)
{
    // disable headset capture and playback on this device
}

ヘッドセットの使用

Headset クラスは、XAudio エンドポイント ID を表す 2 つの文字列で構成されています。1 つはオーディオ キャプチャ (ヘッドセット マイクからの録音) 用の文字列で、もう 1 つはオーディオ レンダリング (ヘッドセットのイヤホンを使用した再生) 用の文字列です。

ここでは XAudio の使用の詳細については説明しませんが、詳しくは、XAudio2 プログラミング ガイドXAudio2 API リファレンスをご覧ください。