Lendo arquivos ASF

O SDK do formato de mídia Windows pode ser usado para fornecer exemplos 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 leitor é o objeto de leitura original no SDK Windows Media Format. O objeto leitor usa uma arquitetura assíncrona para enviar exemplos por push para um aplicativo. Os aplicativos criados usando o objeto leitor devem implementar funções de retorno de chamada que respondam às várias mensagens e eventos resultantes desse modelo de vários threads. 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 formato de mídia Windows. 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 Windows conteúdo baseado em mídia 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 leitor. Use esta tabela para ajudar a determinar qual objeto usar para seu aplicativo.

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

 

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

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 em Reprodução Descreve como aproveitar o suporte a metadados em reprodução. Aplica-se a ambos os objetos de leitor.
Obtendo informações de perfil em 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 não compactadas. Aplica-se a ambos os objetos de leitor.
Obtendo o melhor desempenho de busca de vídeo Descreve maneiras de melhorar o desempenho de 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 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