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. |
Tópicos relacionados