Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
[A funcionalidade associada a esta página, Windows Media Format 11 SDK, é uma funcionalidade herdada. Foi substituído por Source Reader e Sink Writer. Source Reader e Sink Writer foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize o Leitor de Origem e o Gravador de Destino em vez do SDK do Windows Media Format 11 , sempre que 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 leitor assíncrono entrega amostras para o aplicativo de controle em ordem de tempo de apresentação fazendo chamadas para o método de retorno de chamada IWMReaderCallback::OnSample. Ao criar um aplicativo usando o leitor assíncrono, você deve implementar OnSample para lidar com amostras não compactadas. Normalmente, as funções ou métodos criados para renderizar conteúdo são chamados a partir de dentro de OnSample.
A implementação típica do callback OnSample inclui os seguintes passos.
- Recupere a localização e o tamanho do buffer que contém a amostra chamando INSSBuffer::GetBufferAndLength no buffer passado como pSample.
- Ramifique sua lógica dependendo do número de saída. O número de saída é passado para OnSample como dwOutputNumber.
- Inclua lógica de renderização para cada número de saída que você deseja suportar. Se você estiver renderizando amostras de várias saídas, talvez seja necessário sincronizar a renderização.
Os aplicativos que fornecem amostras compactadas de arquivos ASF precisam implementar o método callback IWMReaderCallbackAdvanced::OnStreamSample. OnStreamSample funciona de forma quase idêntica ao OnSample, exceto que recebe amostras compactadas por número de fluxo em vez de amostras não compactadas por número de saída.
Tópicos relacionados