Метод IAudioClock2::GetDevicePosition (audioclient.h)
Метод GetDevicePosition получает текущее положение устройства в кадрах непосредственно от оборудования.
Синтаксис
HRESULT GetDevicePosition(
[out] UINT64 *DevicePosition,
[out] UINT64 *QPCPosition
);
Параметры
[out] DevicePosition
Получает положение устройства в кадрах. Полученная позиция — это необработаемое значение, которое метод получает непосредственно из оборудования. Дополнительные сведения см. в подразделе "Примечания".
[out] QPCPosition
Получает значение счетчика производительности в момент, когда устройство конечной точки аудио считывает позицию устройства, полученную в параметре DevicePosition , в ответ на вызов GetDevicePosition .
GetDevicePosition преобразует значение счетчика в 100-наносекундные единицы времени, прежде чем записывать его в QPCPosition.
QPCPosition может иметь значение NULL , если клиенту не требуется значение счетчика производительности.
Дополнительные сведения см. в подразделе "Примечания".
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK.
Код возврата | Описание |
---|---|
|
Параметр DevicePosition имеет значение NULL. |
|
Конечная точка звука отключена. |
|
Метод IAudioClient::Start не был вызван для этого потока. |
Комментарии
Этот метод применяется только к потокам общего режима.
Этот метод извлекает два коррелированных значения позиции потока:
- Положение устройства. Клиент получает необработанные позиции устройства в DevicePosition. Это положение потока образца, который в настоящее время воспроизводит динамики (для потока отрисовки) или записывается через микрофон (для потока захвата). Частота выборки конечной точки устройства может отличаться от частоты выборки в формате набора, используемом клиентом. Чтобы получить расположение устройства от клиента, вызовите IAudioClock::GetPosition.
- Счетчик производительности. Клиент получает счетчик производительности в QPCPosition. GetDevicePosition получает значение счетчика, вызывая функцию QueryPerformanceCounter в момент, когда устройство конечной точки аудио сохраняет позицию потока в параметре DevicePosition метода GetDevicePosition . GetDevicePosition преобразует значение счетчика в 100-наносекундные единицы времени. Дополнительные сведения о QueryPerformanceCounter и QueryPerformanceFrequency см. в документации по Windows SDK.
- Умножьте необработанное значение счетчика на 10 000 000.
- Разделите результат на частоту счетчика, полученную из QueryPerformanceFrequency.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | audioclient.h |