Метод IAudioInputEndpointRT::GetInputDataPointer (audioengineendpoint.h)
Метод GetInputDataPointer получает указатель на буфер, из которого данные будут считываться обработчиком звука.
Синтаксис
void GetInputDataPointer(
[in, out] APO_CONNECTION_PROPERTY *pConnectionProperty,
[in, out] AE_CURRENT_POSITION *pAeTimeStamp
);
Параметры
[in, out] pConnectionProperty
Указатель на структуру APO_CONNECTION_PROPERTY .
Вызывающий объект задает значения элементов следующим образом:
- PBuffer имеет значение NULL.
- u32ValidFrameCount содержит количество кадров, которые должны находиться в полученном указателе данных. Объект конечной точки не должен кэшировать эти сведения. Звуковой модуль может изменить это число в зависимости от потребностей в обработке.
- Параметр u32BufferFlags имеет значение BUFFER_INVALID.
- pBuffer указывает на допустимую память, в которой были считаны данные. Это может включать тишину в зависимости от флагов, установленных в элементе u32BufferFlags .
- u32ValidFrameCount не изменяется.
- Параметр u32BufferFlags имеет значение BUFFER_VALID , если указатель данных содержит допустимые данные, или значение BUFFER_SILENT , если указатель данных содержит только автоматические данные. Данные в буфере на самом деле не должны быть безмолвными, но буфер, указанный в pBuffer , должен содержать все кадры тишины, содержащиеся в u32ValidFrameCount , чтобы соответствовать требуемому количеству кадров.
[in, out] pAeTimeStamp
Указатель на структуру AE_CURRENT_POSITION , содержащую метку времени данных, захваченных в буфере. Этот параметр является необязательным.
Возвращаемое значение
None
Remarks
Этот метод возвращает указатель из конечной точки на буфер pConnectionProperty-pBuffer>, который содержит данные, которые необходимо передать в подсистему в качестве входных данных. Данные и указатель буфера должны оставаться действительными до вызова метода IAudioInputEndpointRT::ReleaseInputDataPointer . Объект конечной точки должен задать запрошенный объем информации и вставить молчание, если допустимых данных не существует. Указатель буфера pConnectionProperty-pBuffer>, возвращаемый объектом конечной точки, должен быть выровнен по кадру. Конечные точки не поддерживают дополнительное пространство, которое может быть доступно в APO_CONNECTION_PROPERTY , связанном со свойствами подключения, передаваемыми в параметре pConnectionProperty .
Передача нуля в члене u32ValidFrameCount является допустимым запросом. В этом случае входной указатель должен быть допустимым, но конечная точка не считывает его. Значение pConnectionProperty-u32ValidFrameCount> должно быть меньше или равно максимальному числу кадров, поддерживаемого конечной точкой. Чтобы получить поддерживаемое количество кадров, вызовите метод IAudioEndpoint::GetFramesPerPacket .
Этот метод можно вызвать из потока обработки в режиме реального времени. Реализация этого метода не должна блокировать, получать доступ к страничной памяти или вызывать любые блокирующие системные подпрограммы.
API AudioEndpoint служб удаленных рабочих столов предназначен для использования в сценариях удаленного рабочего стола. он не предназначен для клиентских приложений.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 |
Минимальная версия сервера | Windows Server 2008 R2 |
Целевая платформа | Windows |
Header | audioengineendpoint.h |