¿Cómo inicializar un TFilter con una fuente de captura de video conocida sin usar TSysDevEnum.GetMoniker?

StackOverflow https://stackoverflow.com//questions/12695617

  •  12-12-2019
  •  | 
  •  

Pregunta

¿Es posible crear/iniciar un objeto TFilter con una fuente de captura de video conocida sin usar TSysDevEnum.GetMoniker(...)?

El nombre de la fuente de captura de video y otros detalles ya se conocen y se pueden obtener mediante GraphEdit Filter Browser.La intención es acelerar la inicialización de TFilter y adjuntarlo a FilterGraph mediante programación.

¿Fue útil?

Solución

No, debes hacerlo a través del apodo.Depende de la clase COM real que respalde el filtro de fuente de vídeo; sin embargo, casi siempre no existe una única CLSID y es imposible crear una instancia que no sea mediante un apodo.

Si tiene un nombre para mostrar de apodo, puede usar MkParseDisplayName para obtener rápidamente IMoniker sin pasar por la enumeración.O puede enumerar y comparar el nombre para mostrar del apodo con el que ya tiene.

Para seleccionar un dispositivo de captura de audio o video, use el Enumerador del dispositivo del sistema, descrito en el tema utilizando el Enumerador del dispositivo del sistema.El enumerador del dispositivo del sistema devuelve una colección de apodos de dispositivos, seleccionados por categoría de dispositivo.Un apodo es un objeto COM que contiene información sobre otro objeto.Los apodos habilitan la aplicación para obtener información sobre un objeto sin crear realmente el objeto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top