Compartilhar via


Para buscar por número de quadro usando o leitor assíncrono

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

O objeto leitor assíncrono pode ser usado para buscar os números de quadros de fluxos de vídeo em um arquivo ASF. Para usar a busca baseada em quadros, o arquivo carregado no leitor deve ser indexado por quadro. Cada fluxo de vídeo individual pode ser indexado. Para determinar se um fluxo foi indexado por quadro, você pode marcar o atributo g_wszWMNumberOfFrames no cabeçalho do arquivo chamando IWMHeaderInfo::GetAttributeByName.

Para buscar dados em um arquivo ASF por número de quadro usando o leitor assíncrono, execute as etapas a seguir.

  1. Obtenha um ponteiro para a interface IWMReaderAdvanced3 do objeto leitor chamando IWMReader::QueryInterface.
  2. Defina o número e a duração do quadro inicial chamando IWMReaderAdvanced3::StartAtPosition. Você deve especificar o número de fluxo de um fluxo de vídeo indexado por quadro. O leitor sincronizará o restante das saídas com o tempo de apresentação do quadro especificado do fluxo especificado e começará a fornecer exemplos de saída.
  3. Manipule os exemplos como faria normalmente na implementação do método IWMReaderCallback::OnSample .

Lendo arquivos com o leitor assíncrono

Lendo metadados na reprodução

Trabalhando com índices