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


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

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

  1. Используя один из методов, описанных в интерфейсе IMMDevice, получите ссылку на интерфейс IMMDevice для звукового устройства конечной точки.
  2. Вызовите метод IMMDevice::Activate с параметром iid для параметра reFIID IID_IAudioClient. Начиная с Windows 10 build 20348 вызывающие серверы могут передавать AUDIOCLIENT_ACTIVATION_PARAMS для настройки IAudioClient для записи обратного цикла с помощью фильтра процессов.

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

Примеры кода, использующие интерфейс 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

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

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

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

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

Замечания

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2008 [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка audioclient.h

См. также

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

IMMDevice::Activate

WASAPI