Compartilhar via


Método IAudioInputEndpointRT::GetInputDataPointer (audioengineendpoint.h)

O método GetInputDataPointer obtém um ponteiro para o buffer do qual os dados serão lidos pelo mecanismo de áudio.

Sintaxe

void GetInputDataPointer(
  [in, out] APO_CONNECTION_PROPERTY *pConnectionProperty,
  [in, out] AE_CURRENT_POSITION     *pAeTimeStamp
);

Parâmetros

[in, out] pConnectionProperty

Um ponteiro para uma estrutura APO_CONNECTION_PROPERTY .

O chamador define os valores de membro da seguinte maneira:

  • pBuffer é definido como NULL.
  • u32ValidFrameCount contém o número de quadros que precisam estar no ponteiro de dados recuperado. O objeto de ponto de extremidade não deve armazenar essas informações em cache. O mecanismo de áudio pode alterar esse número dependendo de suas necessidades de processamento.
  • u32BufferFlags está definido como BUFFER_INVALID.
Se essa chamada for concluída com êxito, o ponto de extremidade deverá definir os valores de membro da seguinte maneira:
  • pBuffer aponta para a memória válida em que os dados foram lidos. Isso pode incluir o silêncio dependendo dos sinalizadores que foram definidos no membro u32BufferFlags .
  • u32ValidFrameCount não foi alterado.
  • u32BufferFlags será definido como BUFFER_VALID se o ponteiro de dados contiver dados válidos ou BUFFER_SILENT se o ponteiro de dados contiver apenas dados silenciosos. Os dados no buffer realmente não precisam ser silenciados, mas o buffer especificado no pBuffer deve ser capaz de manter todos os quadros de silêncio contidos em u32ValidFrameCount para corresponder à contagem de quadros necessária.

[in, out] pAeTimeStamp

Um ponteiro para uma estrutura AE_CURRENT_POSITION que contém o carimbo de data/hora dos dados capturados no buffer. Esse parâmetro é opcional.

Retornar valor

Nenhum

Comentários

Esse método retorna um ponteiro do ponto de extremidade para o buffer pConnectionProperty-pBuffer>, que contém dados que precisam ser passados para o mecanismo como entrada. Os dados e o ponteiro do buffer devem permanecer válidos até que o método IAudioInputEndpointRT::ReleaseInputDataPointer seja chamado. O objeto de ponto de extremidade deve definir a quantidade solicitada de informações e inserir o silêncio se nenhum dado válido existir. O ponteiro do buffer, pConnectionProperty-pBuffer>, retornado pelo objeto de ponto de extremidade, deve estar alinhado a quadros. Os pontos de extremidade não dão suporte ao espaço extra, que pode estar disponível no APO_CONNECTION_PROPERTY associado às propriedades de conexão passadas no parâmetro pConnectionProperty .

Passar zero no membro u32ValidFrameCount é uma solicitação válida. Nesse caso, o ponteiro de entrada deve ser válido, mas o ponto de extremidade não lê dele. O valor pConnectionProperty-u32ValidFrameCount> deve ser menor ou igual à contagem máxima de quadros compatível com o ponto de extremidade. Para obter o número de quadros com suporte, chame o método IAudioEndpoint::GetFramesPerPacket .

Esse método pode ser chamado de um thread de processamento em tempo real. A implementação desse método não deve bloquear, acessar memória paginada ou chamar rotinas do sistema de bloqueio.

A API AudioEndpoint dos Serviços de Área de Trabalho Remota é usada em cenários de Área de Trabalho Remota; não é para aplicativos cliente.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7
Servidor mínimo com suporte Windows Server 2008 R2
Plataforma de Destino Windows
Cabeçalho audioengineendpoint.h

Confira também

IAudioInputEndpointRT