Compartilhar via


Objeto de leitor

[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 de 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 de 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 objeto leitor lê exemplos de dados de arquivos de mídia. Atualmente, o objeto leitor dá suporte a arquivos usando a estrutura de arquivos ASF (formato de sistemas avançados), bem como arquivos MP3. Os dados entregues pelo objeto leitor são descompactados e prontos para renderização por padrão, embora os exemplos possam ser entregues sem serem descompactados, se desejado. Os exemplos são entregues de forma assíncrona do objeto leitor; você deve configurar uma função de retorno de chamada para recebê-las. Para reprodução síncrona de arquivos ASF, use o objeto leitor síncrono. Nem o leitor nem o leitor síncrono renderizam dados. Você deve fornecer suas próprias rotinas de renderização para exibir a mídia recuperada de um arquivo.

Quando um arquivo contém mídia codificada que pode ser decodificada com um codec compatível com o objeto leitor, você pode controlar o formato da saída não compactada. Para alterar o formato de saída descompactada para um fluxo, você deve recuperar o objeto de propriedades de mídia de saída padrão para esse fluxo, fazer alterações nele e reatribuí-lo ao fluxo no leitor. Os objetos de propriedades de mídia de saída são subordinados ao objeto leitor e só devem ser criados usando o método IWMReader::GetOutputProps .

O objeto reader é criado pela função WMCreateReader, que define um ponteiro para uma interface IWMReader . As outras interfaces do objeto leitor podem ser obtidas chamando o método QueryInterface .

As interfaces a seguir são compatíveis com o objeto leitor.

Interface Descrição
Ireferenceclock Fornece acesso ao relógio do sistema usado pelo leitor.
IWMDRMReader Gerencia a aquisição de licenças, as propriedades drm e a individualização do cliente.
IWMDRMReader2 Fornece acesso a licenças que usam OPL (níveis de proteção de saída) para especificar direitos.
IWMHeaderInfo Define e recupera informações de cabeçalho, incluindo metadados, marcadores e dados de script.
IWMHeaderInfo2 Recupera informações sobre os codecs que foram usados para codificar o conteúdo no arquivo. Herda todos os métodos de IWMHeaderInfo.
IWMHeaderInfo3 Dá suporte a tamanhos de atributo grandes, nomes de atributo duplicados e suporte a vários idiomas. Herda todos os métodos de IWMHeaderInfo e IWMHeaderInfo2.
IWMPacketSize Recupera o tamanho do maior pacote no arquivo carregado no leitor.
IWMPacketSize2 Recupera o tamanho do menor pacote no arquivo carregado no leitor.
IWMProfile Fornece acesso às informações de perfil do arquivo carregado no leitor.
IWMProfile2 Recupera o GUID (identificador global exclusivo), se houver, associado ao perfil. Herda todos os métodos de IWMProfile.
IWMProfile3 Dá suporte a informações de priorização de fluxo e compartilhamento de largura de banda no perfil. Herda todos os métodos de IWMProfile e IWMProfile2.
IWMReader Fornece recursos básicos de leitura de arquivos, incluindo operações como abrir, fechar, iniciar, pausar, retomar, parar e obter e definir as propriedades de saída.
IWMReaderAccelerator Comunica-se com a aceleração de vídeo do DirectX.
IWMReaderAdvanced Fornece recursos avançados do leitor, como um relógio fornecido pelo usuário, alocação de buffer, estatísticas de retorno e notificações de seleção de fluxo.
IWMReaderAdvanced2 Fornece um intervalo adicional de métodos avançados para um objeto leitor existente. Herda todos os métodos de IWMReaderAdvanced.
IWMReaderAdvanced3 Fornece controle avançado de busca e streaming. Herda todos os métodos de IWMReaderAdvanced e IWMReaderAdvanced2.
IWMReaderAdvanced4 Fornece opções avançadas de leitor, incluindo suporte a vários idiomas. Herda todos os métodos de IWMReaderAdvanced, IWMReaderAdvanced2 e IWMReaderAdvanced3.
IWMReaderNetworkConfig Controla as configurações de rede.
IWMReaderNetworkConfig2 Fornece acesso às configurações de rede avançadas. Herda todos os métodos de IWMReaderNetworkConfig.
IWMReaderStreamClock Define e cancela temporizadores em relógios de fluxo e recupera o valor atual de um relógio de fluxo especificado.
IWMReaderTimecode Fornece informações sobre intervalos de código de tempo SMPTE no arquivo carregado no leitor.
IWMReaderTypeNegotiation Testa se as alterações nas propriedades de saída de um fluxo estão funcionando corretamente.

 

As interfaces de retorno de chamada a seguir podem ser implementadas no aplicativo para acompanhar o progresso de um objeto leitor.

Interface Descrição
IWMCredentialCallback Adquire as credenciais dos usuários e verifica se eles têm permissão para acessar um site remoto.
IWMReaderAllocatorEx Fornece alternativas expandidas para os métodos AllocateForOutput e AllocateForStream da interface IWMReaderCallbackAdvanced .
IWMReaderCallback Fornece métodos de retorno de chamada para os métodos Start e Open do IWMReader.
IWMReaderCallbackAdvanced Fornece métodos de retorno de chamada para os métodos da interface IWMReaderAdvanced .
IWMStatusCallback Necessário quando status informações devem ser comunicadas ao aplicativo host.

 

Objetos

Lendo arquivos ASF

Objeto de leitor síncrono