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