Interfaces de dispositivo externo para filmadoras DV
[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.]
O filtro captura de vídeo do WDM expõe três interfaces para controlar uma filmadora.
Rótulo | Valor |
---|---|
IAMExtDevice | A interface base para o controle de dispositivo externo. |
IAMExtTransport | Controla as funções vcr. |
IAMTimecodeReader | Lê o código de tempo do dispositivo. |
Observação
Para usar essas interfaces com o driver de filmador MSDV, inclua o arquivo de cabeçalho XPrtDefs.h em seu projeto.
Depois de selecionar um dispositivo de captura e criar uma instância do filtro de captura, consulte o filtro para essas interfaces. O exemplo a seguir declara uma estrutura personalizada que contém os ponteiros de interface, juntamente com valores boolianos que especificam a disponibilidade de cada interface:
struct _MyDevCap
{
IAMExtDevice *pDevice;
IAMExtTransport *pTransport;
IAMTimecodeReader *pTimecode;
BOOL bHasDevice;
BOOL bHasTransport;
BOOL bHasTimecode;
} MyDevCap;
HRESULT hr;
IBaseFilter *pDVCam; // Pointer to the capture filter.
// Create an instance of the capture filter (not shown).
hr = pDVCam->QueryInterface(IID_IAMExtDevice, (void **)&MyDevCap.pDevice);
MyDevCap.bHasDevice = (SUCCEEDED(hr));
hr = pDVCam->QueryInterface(IID_IAMExtTransport, (void **)&MyDevCap.pTransport);
MyDevCap.bHasTransport = (SUCCEEDED(hr));
hr = pDVCam->QueryInterface(IID_IAMTimecodeReader, (void **)&MyDevCap.pTimecode);
MyDevCap.bHasTimecode = (SUCCEEDED(hr));
Tópicos relacionados