Para identificar números de saída
[A funcionalidade associada a esta página, Windows Media Format 11 SDK, é uma funcionalidade herdada. Este foi substituído pelo Source Reader e pelo Sink Writer. Source Reader e Sink Writer foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize Leitor de Origem e Gravador de Destino 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.]
Para identificar os números de saída de um arquivo carregado, execute as etapas a seguir. Esses procedimentos são idênticos para o leitor assíncrono e o leitor síncrono. Quando os nomes das interfaces variam, os métodos de leitura síncrona são listados entre parênteses após os métodos do leitor assíncrono.
- Crie um objeto leitor e carregue um arquivo para leitura. Para obter mais informações, consulte Criar um leitor e abrir um arquivo (ou Criar um leitor síncrono e abrir um arquivo).
- Recupere o número total de saídas para o arquivo chamando IWMReader::GetOutputCount (ou IWMSyncReader::GetOutputCount).
- Percorra as saídas uma de cada vez, executando as seguintes etapas para cada uma:
- Recupere o interface de IWMOutputMediaProps para a saída atual com uma chamada para IWMReader::GetOutputProps (ou IWMSyncReader::GetOutputProps).
- Recupere a estrutura de WM_MEDIA_TYPE para a saída fazendo duas chamadas para IWMMediaProps::GetMediaType. Faça a primeira chamada para obter o tamanho da estrutura, em seguida, aloque memória para ela e passe um ponteiro para a memória alocada na segunda chamada. Como alternativa, você pode chamar IWMMediaProps::GetType, que fornece o tipo principal sem exigir que você aloque memória para a estrutura WM_MEDIA_TYPE. Você pode ignorar saídas quando são do tipo principal errado.
- Recupere o tipo de mídia principal e o subtipo de mídia da estrutura WM_MEDIA_TYPE. Esses valores são armazenados em membros de dados majortype e subtype respectivamente.
- Verifique o valor de WM_MEDIA_TYPE.formattype. Isso especifica o tipo de estrutura contida no buffer em WM_MEDIA_TYPE.pbFormat. Para obter mais informações sobre tipos de formato, consulte Tipos de mídia.
- Aloque memória para manter a estrutura do tipo identificado na etapa anterior. Copie a estrutura para a memória alocada. Para áudio e vídeo, essa estrutura fornece informações essenciais sobre como os dados devem ser renderizados.
O leitor síncrono também fornece métodos para recuperar associações entre números de saída e números de fluxo. Para mais informações, consulte Para encontrar números de fluxo e números de saída.
Tópicos relacionados