Partilhar via


Definindo propriedades de captura de áudio

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Cada pino de entrada no Filtro de Captura de Áudio expõe a interface IAMAudioInputMixer. Utilize esta interface para habilitar ou desabilitar uma entrada específica, chamando o IAMAudioInputMixer::put_Enable método no pino. Use também essa interface para definir as propriedades de uma entrada, como os níveis de graves, agudos e volume. Se você estiver capturando várias entradas ao mesmo tempo, poderá controlar os níveis gerais de graves, agudos e volume através da interface IAMAudioInputMixer no próprio filtro.

As taxas de amostragem disponíveis e os formatos de áudio para captura são determinados pelo condutor. Use a interface IAMStreamConfig para enumerar as taxas de amostragem e formatos disponíveis e definir o formato desejado no pino de saída do Filtro de Captura de Áudio. O filtro pode se conectar a jusante a qualquer filtro que aceite o tipo de mídia do pino de saída.

O Filtro de Captura de Áudio também expõe a interface IAMBufferNegotiation. Essa interface é útil para controlar a quantidade de latência na visualização de áudio. Por padrão, o filtro de captura de áudio usa um tamanho de buffer de meio segundo. Esse tamanho de buffer é ideal para captura, mas causa um atraso de visualização de meio segundo. Para reduzir a latência, chame o método IAMBufferNegotiation::SuggestAllocatorProperties antes de conectar o pino de saída do Filtro de Captura de Áudio. Este método recebe um ponteiro para a estrutura ALLOCATOR_PROPERTIES. Use o membro cbBuffer para especificar o tamanho do buffer, em bytes. Um buffer de 80 milissegundos é geralmente seguro, mas buffers de 30 ou 40 milissegundos podem ser suficientes. Se os buffers forem muito pequenos, a qualidade do som será degradada.