Compartilhar via


Para procurar por código de hora SMPTE 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 de 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 de 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 pode buscar um ponto em um arquivo com base no código de tempo SMPTE associado a um fluxo de vídeo. Os dados de código de tempo são encapsulados em estruturas de WMT_TIMECODE_EXTENSION_DATA anexadas a amostras de vídeo como extensões de unidade de dados.

Os códigos de tempo SMPTE são definidos por um intervalo e um código de tempo dentro desse intervalo. Um intervalo é uma série contínua de códigos de tempo. Cada código de tempo é definido por horas, minutos, segundos e quadros.

Para buscar dados em um arquivo ASF por código de tempo SMPTE 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 código e a duração da hora inicial chamando IWMReaderAdvanced3::StartAtPosition. Você deve especificar o número de fluxo de um fluxo de vídeo indexado pelo código de tempo. O leitor sincronizará o restante das saídas com o horário de apresentação do quadro especificado do fluxo especificado e começará a fornecer amostras de saída.
  3. Manipule os exemplos como normalmente faria na implementação do método IWMReaderCallback::OnSample .

Lendo arquivos com o leitor assíncrono

Trabalhando com índices

Suporte a código de hora SMPTE