Partilhar via


Hierarquia de interface e objeto de streaming multimídia

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, 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.]

Observação

Essas APIs foram preteridas. Os aplicativos devem usar o filtro Grabber de Exemplo ou implementar um filtro personalizado para obter dados de um grafo de filtro do DirectShow.

 

O diagrama a seguir mostra a hierarquia de objetos usada no streaming multimídia.

hierarquia de objetos de multimídiastreaming

A arquitetura de streaming multimídia define três tipos gerais de objeto:

  • O objeto AMMultimediaStream expõe a interface IAMMultiMediaStream . Internamente, esse objeto encapsula o grafo de filtro do DirectShow.
  • Objetos de fluxo de mídia expõem a interface IMediaStream e são específicos de dados. O objeto AMMultimediaStream contém um ou mais fluxos de mídia.
  • Objetos de exemplo de fluxo contêm os dados de um fluxo específico.

Há suporte para os seguintes objetos de fluxo de mídia:

  • Fluxo de áudio. Expõe a interface IAudioMediaStream .
  • Fluxo do DirectDraw. Representa um fluxo de vídeo renderizado para uma superfície DirectDraw. Expõe a interface IDirectDrawMediaStream .
  • Fluxo de tipo de mídia. Representa dados arbitrários. Expõe a interface IAMMediaTypeStream .

Cada objeto de fluxo de mídia cria seu próprio tipo de objeto de exemplo de fluxo:

  • Os fluxos de áudio criam exemplos de áudio, que expõem a interface IAudioStreamSample .
  • Os fluxos DirectDraw criam exemplos do DirectDraw, que expõem a interface IDirectDrawStreamSample .
  • Os fluxos de tipo de mídia criam exemplos de tipo de mídia, que expõem a interface IAMMediaTypeSample .

O diagrama a seguir mostra a hierarquia de interface para as interfaces listadas anteriormente:

hierarquia de interface de multimídiastreaming