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


Метод 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

См. также раздел

IAudioInputEndpointRT