Compartilhar via


Lendo arquivos ASF

[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 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 exemplos, o objeto leitor e o objeto de 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 por push para um aplicativo. Os aplicativos criados usando o objeto reader devem implementar funções de retorno de chamada que respondam às várias mensagens e eventos resultantes desse modelo multi-threaded. Para maior clareza, esta seção se referirá ao objeto leitor como o leitor assíncrono.

O objeto leitor síncrono é novo para esta versão do SDK do Windows Media Format. O leitor síncrono não usa vários threads no processamento de exemplos de arquivos ASF. Um aplicativo criado usando o leitor síncrono recupera exemplos sob demanda, em vez de aguardar o leitor enviá-los.

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 em Windows Media devem ser criados usando o leitor assíncrono, enquanto 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 leitor. Use esta tabela para ajudar a determinar qual objeto usar para seu aplicativo.

Recurso Leitor assíncrono Leitor de sincronização
Ler amostras descompactadas por número de saída Sim Sim
Ler amostras compactadas por número de fluxo Sim Sim
Ler amostras descompactadas por número de fluxo Não Sim
Ler do site da Internet Sim Não
Ler metadados Sim Sim
Buscar tempo de apresentação Sim Sim
Buscar enquadrar Sim Sim
Buscar marcador Sim Não
Alternar entre a entrega de exemplo compactada e descompactada durante a reprodução Não Sim
Abrir arquivos usando a interface IStream Sim Sim

 

As seções a seguir fornecem mais informações sobre como trabalhar com os dois objetos de leitor.

Seção Descrição
Trabalhando com saídas Descreve como usar e manipular saídas. Aplica-se a ambos os objetos de leitor.
Alocando buffers para leitura de arquivo Descreve como usar seu próprio pool de buffers para armazenar amostras entregues pelo leitor ou leitor síncrono.
Lendo metadados na reprodução Descreve como aproveitar o suporte a metadados na reprodução. Aplica-se a ambos os objetos de leitor.
Obtendo informações de perfil na reprodução Descreve como acessar informações de perfil para arquivos abertos. Aplica-se a ambos os objetos de leitor.
Lendo áudio multicanal Descreve como configurar o gravador para decodificar corretamente o áudio multicanal.
Renderizando conteúdo Discute os problemas relacionados à renderização de amostras descompactadas. Aplica-se a ambos os objetos de leitor.
Obtendo o melhor desempenho de busca de vídeo Descreve maneiras de melhorar o desempenho da busca de vídeo.
Lendo arquivos com o leitor assíncrono Descreve como ler arquivos ASF usando o objeto leitor assíncrono.
Lendo arquivos com o leitor síncrono Descreve como ler arquivos ASF usando o objeto de leitor síncrono.
Habilitando a aceleração de vídeo do DirectX Descreve como implementar a Aceleração de Vídeo DirectX para usar os recursos de aceleração de hardware de algumas placas de vídeo para decodificação de vídeo.

 

Guia de Programação

Objeto de leitor

Objeto de leitor síncrono