Aplicaciones de ejemplo de DirectShow
[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.
Puede encontrar las aplicaciones de ejemplo de DirectShow en el repositorio Windows-classic-samples en GitHub.
En la tabla siguiente se enumeran todos los ejemplos de DirectShow proporcionados en ese repositorio. Para obtener instrucciones sobre cómo compilar los ejemplos, consulte la documentación proporcionada en Windows SDK. Si existe un tema que describe un ejemplo, la primera columna de esta tabla se vincula a él.
Muestra | Área | Descripción | Dependencias adicionales |
---|---|---|---|
Clases base directShow | Biblioteca de clases base | Clases de C++ y funciones de utilidad diseñadas para implementar filtros DirectShow. | |
Ejemplo de AmCap | Capturar | Aplicación de captura de vídeo. | strmbase.lib |
Ejemplo de DVApp | Capturar | Aplicación de captura de vídeo digital (DV). | |
Ejemplo de PlayCap | Capturar | Aplicación de captura simple. | |
Ejemplo de demostración de DMO | DMO | Transmite datos de audio de un archivo WAV a través de un DMO de efecto de audio. | SDK de DirectX |
Ejemplo de DVD | DVD | Muestra la reproducción y navegación básicas de DVD, además de características avanzadas como la administración de nivel parental, los marcadores, el karaoke y la sincronización de comandos. | |
Ejemplo de filtro InfTee | Filtros, varios | Implementación de ejemplo del filtro Infinite Pin Tee . | strmbase.lib |
Ejemplo de filtro metronome | Filtros, varios | Muestra cómo implementar un reloj de referencia. | strmbase.lib |
Ejemplo de filtro del analizador de PSI | Filtros, varios | Recibe tablas de información específica del programa (PSI) de un flujo de transporte MPEG-2 y extrae información del programa. | strmbase.lib |
Ejemplo de filtro de volcado | Filtros, representador | Escribe ejemplos multimedia recibidos en un archivo de texto. | strmbase.lib |
Filtro SampVid | Filtros, representador | Filtro del representador de vídeo. | strmbase.lib |
Ejemplo de filtro de ámbito | Filtros, representador | Muestra los datos de sonido como formas de onda. | strmbase.lib |
Ejemplo de filtro asincrónico | Filtros, origen | Filtro de lector de archivos que admite la descarga progresiva. | strmbase.lib |
Ejemplo de filtro de bolas | Filtros, origen | Filtro de origen de vídeo que genera una imagen de una bola de rebote. | strmbase.lib |
Ejemplo de filtros de origen de inserción | Filtros, origen | Filtros de origen que proporcionan los siguientes datos como una secuencia de vídeo: un único mapa de bits, un conjunto de mapas de bits, una copia de la imagen de escritorio actual. | strmbase.lib |
Ejemplo de filtro de synth | Filtros, origen | Filtro de origen que genera formas de onda de audio. En este ejemplo se muestra la creación de grafos dinámicos. | strmbase.lib |
Ejemplo de filtro EZRGB24 | Filtros, transformación | Filtro de procesamiento de imágenes. | strmbase.lib |
Ejemplo de filtro de gargle | Filtros, transformación | Filtro de efecto de audio. | strmbase.lib |
Ejemplo de filtro WavDest | Filtros, transformación | Escribe una secuencia de audio en un archivo WAV. | strmbase.lib |
Ejemplo de DMOEnum | Disposiciones adicionales | Muestra cómo enumerar objetos multimedia (DPO) de DirectX . | |
Ejemplo del asignador | Disposiciones adicionales | Muestra cómo usar el asignador de filtros para buscar filtros en el registro. | |
Ejemplo de SysEnum | Disposiciones adicionales | Muestra el uso del enumerador de dispositivos del sistema para enumerar dispositivos y filtros. | |
Ejemplo cutScene | Reproducción | Reproduce un archivo de vídeo en modo de pantalla completa. | |
Ejemplo de DDrawXCL | Reproducción | Reproduce vídeo en modo exclusivo de pantalla completa de DirectDraw, con la interfaz IDDrawExclModeVideo en el filtro Mezclador de superposición . | |
Ejemplo de DShowPlayer | Reproducción | Aplicación de reproducción de vídeo. | |
Ejemplo EVRPlayer | Reproducción | Muestra cómo usar el filtro DIRECTShow EVR.
Nota: Requiere Windows Vista o posterior. Este ejemplo está disponible en Windows SDK para Windows Server 2008 o posterior. |
strmbase.lib |
Ejemplo de Texture3D9 | Reproducción | Dibuja vídeo en una superficie de textura de Microsoft DirectX 9.0. | strmbase.lib, SDK de DirectX |
Ejemplo de ticker | VMR-9 | Usa VMR-9 para combinar vídeo y texto. | |
Ejemplo de VMR9Allocator | VMR-9 | Implementa un asignador-moderador personalizado para VMR-9. | strmbase.lib |
Ejemplo VMR9Compositor | VMR-9 | Implementa un mezclador personalizado para VMR-9. | |
Ejemplo de VMRPlayer | VMR-9 | Usa VMR-9 para combinar uno o dos vídeos en ejecución y una imagen estática. | |
Ejemplo de marca de agua | VMR-9 | Combina un mapa de bits estático en un vídeo durante la reproducción mediante VMR-9. | |
Ejemplo sin ventanas | VMR-9 | Muestra el modo sin ventanas en VMR-9. |
Dependencias adicionales
Algunos de los ejemplos se vinculan a la biblioteca de clases base directShow. Para compilar esos ejemplos, primero compile la biblioteca de clases base. Para obtener más información, consulte Clases base directShow. La biblioteca de clases base es necesaria para todos los filtros de ejemplo.
Algunos de los ejemplos también requieren el SDK de DirectX, además del SDK de Windows. Para compilar esos ejemplos, debe instalar el SDK de DirectX y establecer la variable de entorno igual a la %DXSDK\_DIR%
ruta de instalación del SDK de DirectX.
Muchos de los ejemplos de DirectShow usan un conjunto de encabezados comunes y archivos de código fuente ubicados en directrory \[SDK Root\]Samples\Multimedia\DirectShow\Common
. Si copia una carpeta de ejemplo en otro directorio, asegúrese de copiar también la Common
carpeta.