Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEnginey captura de audio y 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 captura de audio y vídeo 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.
Un dispositivo de captura que todavía usa un controlador de Vídeo para Windows (VFW) puede admitir cualquiera de los tres cuadros de diálogo siguientes, que se usan para configurar el dispositivo.
Cuadro de diálogo | Descripción |
---|---|
Origen del vídeo | Se usa para seleccionar la entrada de vídeo y para ajustar la configuración del dispositivo, como el brillo de la imagen o el contraste. |
Formato de vídeo | Se usa para seleccionar las dimensiones de la imagen y la profundidad de bits. |
Visualización de vídeo | Se usa para controlar la apariencia del vídeo representado. |
Para mostrar uno de estos cuadros de diálogo, haga lo siguiente:
- Detenga el gráfico de filtros.
- Consulte el filtro de captura de la interfazIAMVfwCaptureDialogs. Si QueryInterface se realiza correctamente, significa que el dispositivo de captura es un dispositivo VFW.
- Llame a IAMVfwCaptureDialogs::HasDialog para comprobar si el controlador admite el cuadro de diálogo que desea mostrar. La enumeración VfwCaptureDialogs define marcas para cada uno de los cuadros de diálogo VFW. hasDialog devuelve S_OK si se admite el cuadro de diálogo. Devuelve S_FALSE de lo contrario, por lo que comprueba el valor S_OK directamente, en lugar de usar la macro SUCCEEDED de.
- Si se admite el cuadro de diálogo, llame a IAMVfwCaptureDialogs::ShowDialog para mostrar el cuadro de diálogo.
- Reinicie el gráfico.
En el código siguiente se muestran estos pasos para el cuadro de diálogo Origen de vídeo:
pControl->Stop(); // Stop the graph.
// Query the capture filter for the IAMVfwCaptureDialogs interface.
IAMVfwCaptureDialogs *pVfw = 0;
hr = pCap->QueryInterface(IID_IAMVfwCaptureDialogs, (void**)&pVfw);
if (SUCCEEDED(hr))
{
// Check if the device supports this dialog box.
if (S_OK == pVfw->HasDialog(VfwCaptureDialog_Source))
{
// Show the dialog box.
hr = pVfw->ShowDialog(VfwCaptureDialog_Source, hwndParent);
}
}
pControl->Run();
Temas relacionados