Objeto Reader
[O recurso associado a esta página, do SDK do Windows Media Format 11, é um recurso herdado. Foi substituído por de Leitor de Origem e do Gravador do Coletor de. de Leitor de Origem e Gravador do Coletor foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use de Leitor de Origem e o Gravador do Coletor em vez de 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 fornecidos pelo objeto leitor não são compactados e estão 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 de 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 descompactada. 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 leitor é 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, propriedades de drm e 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 arquivo, 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, IWMReaderAdvanced2e 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 aos métodos AllocateForOutput e AllocateForStream da interface de IWMReaderCallbackAdvanced. |
IWMReaderCallback | Fornece métodos de retorno de chamada para os métodos Start e Open de IWMReader. |
IWMReaderCallbackAdvanced | Fornece métodos de retorno de chamada para os métodos da interface deIWMReaderAdvanced. |
IWMStatusCallback | Necessário quando as informações de status devem ser comunicadas ao aplicativo host. |
Tópicos relacionados