Интерфейс IAudioClient (audioclient.h)
Интерфейс IAudioClient позволяет клиенту создавать и инициализировать аудиопоток между звуковым приложением и подсистемой аудио (для потока общего режима) или аппаратным буфером устройства конечной точки звука (для потока монопольного режима). Клиент получает ссылку на интерфейс IAudioClient для устройства звуковой конечной точки, выполнив следующие действия:
- Используя один из методов, описанных в интерфейсе IMMDevice, получите ссылку на интерфейс IMMDevice для звукового устройства конечной точки.
- Вызовите метод 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 Vista [классические приложения | Приложения UWP] |
минимальный поддерживаемый сервер | Windows Server 2008 [классические приложения | Приложения UWP] |
целевая платформа | Виндоус |
заголовка | audioclient.h |