Интерфейс IAudioClient (audioclient.h)

Интерфейс IAudioClient позволяет клиенту создавать и инициализировать аудиопоток между звуковым приложением и обработчиком звука (для потока в общем режиме) или аппаратным буфером устройства конечной точки аудио (для потока в монопольном режиме). Клиент получает ссылку на интерфейс IAudioClient для конечного аудиоустройства, выполнив следующие действия:

  1. Используя один из методов, описанных в разделе Интерфейс IMMDevice, получите ссылку на интерфейс IMMDevice для устройства конечной точки звука.
  2. Вызовите метод IMMDevice::Activate с параметром iid , равным REFIID IID_IAudioClient.

Поток приложения, использующий этот интерфейс, должен быть инициализирован для COM. Дополнительные сведения об инициализации COM см. в описании функции CoInitializeEx в документации по Windows SDK.

Примеры кода, использующие интерфейс IAudioClient , см. в следующих разделах:

Наследование

Интерфейс IAudioClient наследуется от интерфейса IUnknown . IAudioClient также имеет следующие типы элементов:

Методы

Интерфейс IAudioClient содержит следующие методы.

 
IAudioClient::GetBufferSize

Метод GetBufferSize извлекает размер (максимальную емкость) буфера конечной точки.
IAudioClient::GetCurrentPadding

Метод GetCurrentPadding извлекает количество кадров заполнения в буфере конечных точек.
IAudioClient::GetDevicePeriod

Метод GetDevicePeriod извлекает длину периодического интервала, разделяющего последовательные проходы обработки звуковым механизмом данных в буфере конечной точки.
IAudioClient::GetMixFormat

Метод GetMixFormat извлекает формат потока, используемый обработчиком звука для внутренней обработки потоков общего режима.
IAudioClient::GetService

Метод GetService обращается к дополнительным службам из объекта аудиоконферентного клиента.
IAudioClient::GetStreamLatency

Метод GetStreamLatency извлекает максимальную задержку для текущего потока и может вызываться в любое время после инициализации потока.
IAudioClient::Initialize

Метод Initialize инициализирует аудиопоток.
IAudioClient::IsFormatSupported

Метод IsFormatSupported указывает, поддерживает ли устройство конечной точки звука определенный формат потока.
IAudioClient::Reset

Метод Reset сбрасывает звуковой поток.
IAudioClient::SetEventHandle

Метод SetEventHandle задает дескриптор события, который система сигнализирует, когда звуковой буфер готов к обработке клиентом.
IAudioClient::Start

Метод Start запускает аудиопоток.
IAudioClient::Stop

Метод Stop останавливает аудиопоток.

Комментарии

Примечание В Windows 8 первое использование IAudioClient для доступа к звуковому устройству должно быть в потоке STA. Вызовы из потока MTA могут привести к неопределенному поведению.
 

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header audioclient.h

См. также раздел

Основные звуковые интерфейсы

IMMDevice::Activate

WASAPI