Compartilhar via


Exemplo de WavSource

Mostra como criar uma fonte de mídia personalizada no Microsoft Media Foundation. O exemplo implementa uma fonte de mídia que analisa arquivos de áudio .wav.

Este exemplo é um exemplo relativamente simples de uma fonte de mídia:

  • Há apenas um fluxo, portanto, não há código para implementar a seleção de fluxo.
  • A fonte de mídia não implementa o controle de taxa (ou seja, avanço rápido ou reprodução inversa).
  • Todos os métodos de origem e fluxo são implementados como métodos síncronos.
  • Como a parte de dados de um arquivo .wav é um único bloco de áudio PCM não compactado, a fonte de mídia não precisa ler cabeçalhos de pacote ou analisar o fluxo durante a reprodução, além de ler o cabeçalho WAVEFORMAT inicial.

Para obter um exemplo mais avançado de uma fonte de mídia, consulte o exemplo MPEG1Source.

APIs demonstradas

Este exemplo demonstra as seguintes interfaces do Media Foundation:

Uso

O exemplo WavSource cria uma DLL que é um servidor COM para o manipulador de fluxo de bytes da fonte de mídia e da fonte de mídia. Antes de usar a fonte de mídia, você deve registrar a DLL.

Para usar a fonte de mídia, você pode executar o BasicPlayback. O resolvedor de origem carregará automaticamente a fonte de mídia se você selecionar um arquivo .wav para reprodução. (Se ocorrer um erro, verifique se você registrou com êxito a DLL wavsource.)

Você também pode usar a ferramenta TopoEdit para criar uma topologia de reprodução que contenha a fonte de mídia. Para obter mais informações sobre TopoEdit, consulte TopoEdit.

Requisitos

Produto Versão
SDK do Windows Windows 7

 

Baixando o exemplo

Este exemplo está disponível no repositório github de exemplos clássicos do Windows.

Exemplos de SDK do Media Foundation

Fontes de mídia

Exemplo de MPEG1Source

Manipuladores de esquema e manipuladores de Byte-Stream

Escrevendo uma fonte de mídia personalizada