Objeto Reader
[A funcionalidade associada a esta página, Windows Media Format 11 SDK, é uma funcionalidade herdada. Foi substituído por Source Reader e Sink Writer. do Source Reader e Sink Writer foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize do Leitor de Origem e do Gravador de Separadores em vez de SDK do Windows Media Format 11, sempre que 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ê amostras de dados de arquivos de mídia. O objeto leitor atualmente suporta arquivos usando a estrutura de arquivos de formato de sistema avançado (ASF), 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 as amostras possam ser entregues sem serem descompactadas, se desejado. As amostras são entregues de forma assíncrona a partir do objeto leitor; Você deve configurar uma função de retorno de chamada para recebê-los. Para reprodução síncrona de arquivos ASF, use o objeto leitor síncrono. Nem o leitor nem o leitor síncrono processam quaisquer 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 suportado pelo objeto leitor, você pode controlar o formato da saída não compactada. Para alterar o formato da saída descompactada de 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 reader e só devem ser criados usando o métodoIWMReader::GetOutputProps.
O objeto reader é criado pela função WMCreateReader, que define um ponteiro para uma interface IWMReader. As outras interfaces do objeto reader podem ser obtidas chamando o QueryInterface método.
As interfaces a seguir são suportadas pelo objeto reader.
Interface | Descrição |
---|---|
IReferenceClock | Fornece acesso ao relógio do sistema usado pelo leitor. |
IWMDRMReader | Gerencia a aquisição de licenças, propriedades DRM e a individualização do cliente. |
IWMDRMReader2 | Fornece acesso a licenças que usam níveis de proteção de saída (OPL) para especificar direitos. |
IWMHeaderInfo | Define e recupera informações de cabeçalho, incluindo metadados, marcadores de 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 | Suporta grandes tamanhos de atributos, nomes de atributos 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 identificador global exclusivo (GUID), se houver, associado ao perfil. Herda todos os métodos de IWMProfile. |
IWMProfile3 | Suporta compartilhamento de largura de banda e informações de priorização de fluxo 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 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 uma gama adicional de métodos avançados para um objeto leitor existente. Herda todos os métodos do IWMReaderAdvanced. |
IWMReaderAdvanced3 | Fornece busca avançada e controle de streaming. Herda todos os métodos de IWMReaderAdvanced e IWMReaderAdvanced2. |
IWMReaderAdvanced4 | Fornece opções avançadas de leitura, incluindo suporte a vários idiomas. Herda todos os métodos de IWMReaderAdvanced, IWMReaderAdvanced2e IWMReaderAdvanced3. |
IWMReaderNetworkConfig | Controla as definições de configuração de rede. |
IWMReaderNetworkConfig2 | Fornece acesso a definições avançadas de configuração de rede. 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ódigos 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 seguintes interfaces de retorno de chamada 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 o AllocateForOutput e métodos de AllocateForStream da interface IWMReaderCallbackAdvanced do. |
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 do IWMReaderAdvanced interface. |
IWMStatusCallback | Necessário quando as informações de status devem ser comunicadas ao aplicativo host. |
Tópicos relacionados