Compartilhar via


Para criar um leitor e abrir um arquivo

[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.]

Antes de fazer qualquer trabalho com o leitor, você precisará criar um objeto de leitor e carregar um arquivo para leitura. Para inicializar o leitor e abrir um arquivo, execute as etapas a seguir.

  1. Crie um objeto de leitor chamando a função WMCreateReader . Você deve especificar o nível desejado de gerenciamento de direitos para o novo objeto leitor. Os modos disponíveis são listados no tipo de enumeração WMT_RIGHTS .
  2. Especifique um arquivo a ser lido chamando IWMReader::Open. Você deve especificar uma interface de retorno de chamada de leitor para o leitor usar. Para obter mais informações sobre o retorno de chamada do leitor, consulte Para implementar mensagens de leitor no retorno de chamada onStatus.
  3. Aguarde até que o leitor abra o arquivo. Quando você chama Open para carregar um arquivo, ele retorna quase imediatamente e continua o processamento em outro thread. Você deve aguardar a conclusão das operações, sinalizando um evento quando o retorno de chamada onStatus receber a mensagem WMT_OPENED status.

O leitor também dá suporte ao uso da interface COM IStream para abrir arquivos. Você pode implementar a interface IStream da maneira que quiser. Depois que o arquivo desejado for aberto no IStream, você poderá seguir as etapas listadas acima, exceto que você deve chamar IWMReaderAdvanced2::OpenStream em vez de IWMReader::Open na etapa 2.

IWMReader Interface

IWMReaderAdvanced2 Interface

IWMStatusCallback Interface

Lendo arquivos com o leitor assíncrono

Usando os métodos de retorno de chamada