Compartilhar via


Para usar a seleção manual de fluxo

[O recurso associado a esta página, Windows Media Format 11 SDK, é um recurso herdado. Ele foi substituído por Leitor de Origem e Gravador de Coletor. O Leitor de Origem e o Gravador do Coletor foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use o Leitor de Origem e o Gravador do Coletor em vez do SDK do Windows Media Format 11, 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.]

Ao fornecer amostras descompactadas com o objeto leitor, você pode entregá-las somente pelo número de saída. No caso de fluxos mutuamente exclusivos, isso significa que você pode receber amostras apenas de um fluxo na exclusão mútua por vez. O processo de escolher qual fluxo mutuamente exclusivo entregar é chamado de seleção de fluxo.

Para exclusão mútua de taxa de bits, o leitor faz seleções de fluxo automaticamente com base nas condições no computador host na reprodução. Para outros tipos de exclusão mútua, o leitor fornecerá amostras do fluxo padrão, a menos que você selecione manualmente um fluxo diferente por conta própria. Também pode haver instâncias quando você deseja selecionar um fluxo manualmente de uma exclusão mútua de taxa de bits.

A seleção manual de fluxo está ativada ou desativada para todo o arquivo. Se um arquivo contiver exclusão mútua de taxa de bits e algum outro tipo de exclusão mútua, você deverá selecionar os fluxos baseados em taxa de bits manualmente.

Para selecionar um fluxo mutuamente exclusivo manualmente, você deve executar as etapas a seguir.

  1. Recupere um ponteiro para a interface IWMReaderAdvanced do objeto reader chamando IWMReader::QueryInterface.
  2. Habilite a seleção manual de fluxo chamando IWMReaderAdvanced::SetManualStreamSelection.
  3. Para descobrir se um fluxo específico está selecionado, chame IWMReaderAdvanced::GetStreamSelected. Você deve passar um ponteiro para uma variável do tipo de enumeração WMT_STREAM_SELECTION . Quando a chamada retornar, o valor na variável descreverá o tipo de seleção atual do fluxo.
  4. Para selecionar um fluxo, chame IWMReaderAdvanced::SetStreamsSelected. Esse método permite que você especifique vários fluxos ao mesmo tempo para a alternância de fluxo sincronizada.

Lendo arquivos com o leitor assíncrono