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.
- 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 |