Crear objetos de streaming multimedia y ejemplos de secuencias
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
Nota:
Estas API están en desuso. Las aplicaciones deben usar el filtro Sample Grabber o implementar un filtro personalizado para obtener datos de un gráfico de filtros directShow.
Los objetos que admiten la interfaz IMultiMediaStream son los contenedores básicos para flujos de datos multimedia. La interfaz IMultiMediaStream incluye métodos que enumeran los flujos de datos del objeto; estas secuencias suelen ser datos de audio y vídeo, pero pueden incluir datos de cualquier formato, como subtítulos cerrados, texto sin formato o código de tiempo de SMPTE. Sin embargo, la interfaz IMultiMediaStream es un contenedor genérico; los desarrolladores pueden crear otras versiones de la interfaz que admiten formatos de datos específicos. Los objetos que implementan la interfaz IAMMultiMediaStream , por ejemplo, pueden enumerar y controlar secuencias de cualquier formato de datos directShow. Dado que los flujos de datos individuales son específicos del formato, admiten al menos dos interfaces diferentes: una genérica y una específica de datos. Cada secuencia admite la interfaz IMediaStream , que proporciona métodos para recuperar su formato y un puntero a la secuencia en sí. La interfaz IDirectDrawMediaStream , por otro lado, tiene métodos que tratan específicamente con la representación de datos de vídeo. Cualquier interfaz derivada de IMultiMediaStream también admite la creación de ejemplos de secuencias, las unidades básicas de datos de streaming.
Un ejemplo multimedia es una referencia a un objeto que contiene los datos multimedia. Para una imagen de vídeo, se trata de una superficie de DirectDraw. El contenido exacto del ejemplo varía, dependiendo del tipo de medio (sonido, texto, etc.). Dado que un ejemplo es solo una referencia al objeto de datos, cualquier número de muestras de flujo puede hacer referencia al mismo objeto. La interfaz IStreamSample proporciona métodos que obtienen y establecen las características de una muestra, como su hora de inicio y detención, estado y asociación de secuencias. El método IStreamSample::Update actualiza los datos del ejemplo en el caso de secuencias legibles. En el caso de las secuencias grabables, escribirá los datos del ejemplo en la secuencia. Normalmente, se usa el método Update en un bucle que representa, transfiere o almacena datos de streaming.
Temas relacionados