Lendo arquivos ASF
[A funcionalidade associada a esta página, Windows Media Format 11 SDK, é uma funcionalidade herdada. Foi substituído pelo Source Reader e pelo Sink Writer. Os do Source Reader e os do Sink Writer foram otimizados para o Windows 10 e o Windows 11. A Microsoft recomenda vivamente que o novo código utilize o Leitor de Origem e o Gravador de Destino em vez do Windows Media Format 11 SDK, 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 SDK do Windows Media Format pode ser usado para fornecer amostras de mídia de um arquivo ASF. Dois objetos são usados para recuperar amostras, o objeto leitor e o objeto leitor síncrono.
O objeto reader é o objeto de leitura original no SDK do Windows Media Format. O objeto reader usa uma arquitetura assíncrona para enviar amostras para um aplicativo. As aplicações criadas usando o objeto reader devem implementar funções de retorno que respondam às várias mensagens e eventos resultantes deste modelo multithreading. Para maior clareza, esta seção se referirá ao objeto leitor como leitor assíncrono.
O objeto leitor síncrono é novo para esta versão do Windows Media Format SDK. O leitor síncrono não usa vários threads no processamento de amostras de arquivos ASF. Um aplicativo criado usando o leitor síncrono recupera amostras sob demanda, em vez de esperar que o leitor as envie.
Ao criar um aplicativo para ler arquivos ASF, você deve escolher qual objeto leitor usar. Em geral, os aplicativos projetados para fornecer conteúdo baseado no Windows Media devem ser criados usando o leitor assíncrono, enquanto os aplicativos projetados para editar arquivos ASF devem ser criados com o leitor síncrono.
A tabela a seguir lista os principais recursos de ambos os objetos de leitura. Use esta tabela para ajudar a determinar qual objeto usar para seu aplicativo.
Funcionalidade | Leitor assíncrono | Leitor de sincronização |
---|---|---|
Ler amostras não comprimidas por número de saída | Sim | Sim |
Ler amostras compactadas por número de fluxo de dados | Sim | Sim |
Ler amostras não comprimidas por número de fluxo | Não | Sim |
Ler a partir do site da Internet | Sim | Não |
Ler metadados | Sim | Sim |
Avance para o momento da apresentação | Sim | Sim |
Tentar enquadrar | Sim | Sim |
Procurar marcador | Sim | Não |
Alternar entre a entrega de amostras comprimidas e não comprimidas durante a reprodução | Não | Sim |
Abrir arquivos usando interface IStream | Sim | Sim |
As seções a seguir fornecem mais informações sobre como trabalhar com os dois objetos de leitura.
Secção | Descrição |
---|---|
Trabalhando com Resultados | Descreve como usar e manipular saídas. Aplica-se a ambos os objetos de leitura. |
Alocar buffers para leitura de ficheiros | Descreve como usar seu próprio pool de buffers para armazenar amostras entregues pelo leitor ou leitor síncrono. |
Leitura de metadados durante a reprodução | Descreve como aproveitar o suporte a metadados na reprodução. Aplica-se a ambos os objetos de leitura. |
Obter informações de perfil durante a reprodução | Descreve como acessar informações de perfil para arquivos abertos. Aplica-se a ambos os objetos de leitura. |
Leitura de áudio multicanal | Descreve como configurar o gravador para decodificar corretamente o áudio multicanal. |
Renderização de conteúdo | Discute os problemas relacionados à renderização de amostras não compactadas. Aplica-se a ambos os objetos de leitura. |
Obtendo o melhor desempenho ao procurar vídeos | Descreve maneiras de melhorar o desempenho de busca de vídeo. |
Leitura de Ficheiros com o Leitor Assíncrono | Descreve como ler arquivos ASF usando o objeto leitor assíncrono. |
leitura de arquivos com o leitor síncrono | Descreve como ler arquivos ASF usando o objeto leitor síncrono. |
Ativando o DirectX Video Acceleration | Descreve como implementar o DirectX Video Acceleration para usar os recursos de aceleração de hardware de algumas placas de vídeo para decodificar vídeo. |
Tópicos relacionados