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


Метод IAudioClient::GetStreamLatency (audioclient.h)

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

Синтаксис

HRESULT GetStreamLatency(
  [out] REFERENCE_TIME *phnsLatency
);

Параметры

[out] phnsLatency

Указатель на переменную REFERENCE_TIME , в которую метод записывает значение времени, представляющее задержку. Время выражается в 100-наносекундных единицах. Дополнительные сведения о REFERENCE_TIME см. в документации по пакету SDK для Windows.

Возвращаемое значение

Если метод выполнен успешно, он возвращает S_OK. В случае сбоя возможные коды возврата включаются, но не ограничиваются значениями, приведенными в следующей таблице.

Код возврата Description
AUDCLNT_E_NOT_INITIALIZED
Аудиопоток не был успешно инициализирован.
AUDCLNT_E_DEVICE_INVALIDATED
AUDCLNT_E_RESOURCES_INVALIDATED
Ресурсы потока были недействительны. Эта ошибка может возникать по следующим причинам:
— поток приостановлен.
— Поток эксклюзивной или разгрузки отключен.
— Упаковаемое приложение с монопольным режимом или потоком разгрузки.
— Поток "защищенных выходных данных" закрыт.
Устройство конечной точки звука было отключено, или звуковое оборудование или связанные аппаратные ресурсы были перенастроены, отключены, удалены или недоступны для использования.
AUDCLNT_E_SERVICE_NOT_RUNNING
Звуковая служба Windows не запущена.
E_POINTER
Параметр phnsLatency имеет значение NULL.

Замечания

Для этого метода требуется предварительная инициализация интерфейса IAudioClient . Все вызовы этого метода завершаются ошибкой AUDCLNT_E_NOT_INITIALIZED до тех пор, пока клиент не инициализирует аудиопоток, успешно вызвав метод IAudioClient::Initialize .

Этот метод получает максимальную задержку для текущего потока. Значение не изменится в течение времени существования объекта IAudioClient .

Клиенты отрисовки могут использовать это значение задержки для вычисления минимального объема данных, которые они могут записывать во время любого единого прохода обработки. Чтобы записать меньше этого минимума, рисковать введением сбоей в аудиопоток. Дополнительные сведения см. в разделе IAudioRenderClient::GetBuffer.

Требования

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

См. также

Интерфейс IAudioClient

IAudioClient::Initialize

IAudioRenderClient::GetBuffer