Поделиться через


Headset

На этой странице описаны основы программирования для гарнитур с помощью Windows.Gaming.Input.Гарнитура и связанных API для универсальная платформа Windows (UWP).

Прочитав эту страницу, вы узнаете:

  • Как получить доступ к гарнитуре, подключенной к входным или навигационному устройству
  • Как определить, что гарнитура подключена или отключена

Обзор гарнитуры

Гарнитуры — это устройства захвата звука и воспроизведения, чаще всего используются для взаимодействия с другими игроками в онлайн-играх, но также могут использоваться в игровом процессе или для других творческих применений. Гарнитуры поддерживаются в приложениях Windows 10 или Windows 11 и Xbox UWP через пространство имен Windows.Gaming.Input .

Обнаружение и отслеживание гарнитур

Гарнитуры управляются системой, поэтому вам не нужно создавать или инициализировать их. Система предоставляет доступ к гарнитуре через входное устройство, к которому подключено и события, чтобы уведомить вас о подключении или отключении гарнитуры.

IGameController.Гарнитура

Все устройства ввода в пространстве имен Windows.Gaming.Input реализуют интерфейс IGameController , который определяет свойство Гарнитуры , которое в настоящее время подключено к устройству.

Подключение и отключение гарнитур.

При подключении или отключении гарнитуры возникают события 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
}

Использование гарнитуры

Класс Гарнитуры состоит из двух строк, представляющих идентификаторы конечных точек XAudio- один для аудиозаписи (запись с микрофона гарнитуры) и один для отрисовки звука (воспроизведение через гарнитуру наушника).

Сведения о работе с XAudio здесь не обсуждаются, дополнительные сведения см . в руководстве по программированию XAudio2 и справочнике по API XAudio2.