Compartilhar via


KSPROPERTY_RTAUDIO_GETREADPACKET

KSPROPERTY_RTAUDIO_GETREADPACKET retorna informações sobre pacotes de áudio capturados.

Tabela de Resumo de Uso

Obter Definir Destino Tipo de descritor de propriedade Tipo de valor da propriedade
Sim Não Pin KSPROPERTY KSRTAUDIO_GETREADPACKET_INFO

O descritor de propriedade (dados da instância) é uma estrutura KSPROPERTY . Antes de enviar a solicitação, o cliente carrega a estrutura com valores que indicam o número do pacote, o comprimento do pacote e outras informações.

O valor da propriedade é uma variável do tipo KSRTAUDIO_GETREADPACKET_INFO.

Valor retornado

Uma solicitação de propriedade KSPROPERTY_RTAUDIO_GETREADPACKET retorna STATUS_SUCCESS para indicar que foi concluída com êxito. Caso contrário, a solicitação retornará uma falha apropriada status código.

STATUS_DEVICE_NOT_READY - O driver retornará esse erro se nenhum novo dado estiver disponível.

Comentários

Antes de ler os dados de áudio capturados do buffer WaveRT, o sistema operacional chama essa rotina para obter informações sobre os dados disponíveis.

O número do pacote identifica um pacote dentro do fluxo. Isso é redefinido para zero quando o fluxo está em KSSTATE_STOP. O número avança com cada buffer capturado. No número do pacote, o sistema operacional pode derivar o local do pacote dentro do buffer WaveRT e também pode derivar a posição do fluxo do pacote em relação ao início do fluxo.

O tamanho do pacote é o tamanho do buffer WaveRT dividido pelo NotificationCount passado para KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION. O sistema operacional pode chamar essa rotina a qualquer momento. Em operação normal, o sistema operacional chama essa rotina depois que o driver define o evento de notificação de buffer ou depois que uma chamada anterior retorna true para MoreData. Quando o sistema operacional chama essa rotina, o driver pode assumir que o sistema operacional terminou de ler todos os pacotes anteriores. Se o hardware tiver capturado dados suficientes, o driver poderá imediatamente estourar o próximo pacote completo para o buffer WaveRT e definir o evento de buffer novamente. No caso de estouro de captura (quando o sistema operacional não lê dados rapidamente o suficiente), o driver de áudio pode soltar ou substituir alguns dados de áudio. O driver de áudio descarta ou substitui os dados mais antigos primeiro, o driver de áudio pode continuar a avançar seu contador de pacotes interno, mesmo que o sistema operacional possa não ter lido os dados.

Requisitos

Versão

Disponível em sistemas operacionais Windows Windows 10 e posteriores.

Cabeçalho

Ksmedia.h

Confira também

KSPROPERTY_RTAUDIO_SETWRITEPACKET

UsePositionLock