Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[A funcionalidade associada a esta página, Windows Media Format 11 SDK, é uma funcionalidade herdada. Foi substituído por Source Reader e 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 o Source Reader e o Sink Writer em vez do Windows Media Format 11 SDK, 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.]
Você pode transcodificar conteúdo de uma taxa de bits para outra usando o SDK do Windows Media Format. Normalmente, isso envolve simplesmente decodificar o conteúdo e codificá-lo novamente para a taxa de bits desejada. O codec Windows Media Audio 9 suporta compressão inteligente, que permite a transcodificação que atinge uma qualidade melhor do que o normal.
Para a recompressão inteligente, o fluxo de áudio original tem de ser codificado com o codec Windows Media Audio. Todas as versões do codec são suportadas, mas os codecs de áudio especializados (Windows Media Audio 9 Professional e Windows Media Audio 9 Voice) não são. Se o áudio original foi codificado com o codec Windows Media Audio 9 Lossless, não há necessidade de usar a compactação inteligente, porque nenhuma informação foi perdida na codificação original.
Para usar a compactação inteligente, execute as etapas a seguir.
- Configure um objeto leitor com o arquivo de origem para leitura. Para obter mais informações, consulte A Leitura de Arquivos ASF.
- Configure um objeto de gravador a ser usado para transcodificar o arquivo. Defina o nome do arquivo para o novo arquivo. Selecione um perfil a ser usado para o novo arquivo. Defina o perfil selecionado no objeto writer. Para obter mais informações, consulte Escrevendo arquivos ASF.
- Obtenha um ponteiro para a interfaceIWMProfile do objeto leitor chamando IWMReader::QueryInterface.
- Recupere o interface de IWMStreamConfig para o fluxo de áudio a ser transcodificado chamando IWMProfile::GetStream.
- Obtenha a interface IWMMediaProps para o objeto de configuração de fluxo chamando IWMStreamConfig::QueryInterface.
- Recupere a estrutura WM_MEDIA_TYPE para o fluxo fazendo duas chamadas para IWMMediaProps::GetMediaType. Obtenha o tamanho da estrutura na primeira chamada e aloque memória para um buffer passar na segunda chamada.
- Obtenha um ponteiro para a interface IWMInputMediaProps para a entrada no gravador chamando IWMWriter::GetInputProps.
- Obtenha a interface IWMPropertyVault para o objeto de propriedades de mídia de entrada chamando IWMInputMediaProps::QueryInterface.
- Use o método IWMPropertyVault::SetProperty para definir a propriedade g_wszOriginalWaveFormat. Use o WAVEFORMATEX estrutura obtida na etapa 6 como o valor da propriedade.
- Inclua as alterações feitas nas propriedades da mídia de entrada chamando IWMWriter::SetInputProps e passando-lhe um ponteiro para a interface IWMInputMediaProps.
- Comece a iniciar a leitura de amostras do arquivo original e a passá-las para o gravador com chamadas para IWMWriter::WriteSample.
Tópicos relacionados