Come inizializzare un tfilter con una sorgente di acquisizione video conosciuta senza utilizzare TsysDevenum.getMoniker?

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

  •  12-12-2019
  •  | 
  •  

Domanda

È possibile creare / iniziare un oggetto TFilter con una sorgente di acquisizione video nota senza utilizzare TsysDevenum.getMoniker (...)?

Il nome della sorgente di acquisizione video e altri dettagli sono già noti e possono essere ottenuti dal browser Filter GrafPedit.L'intenzione è accelerare l'inizializzazione del tfilter e collegarlo al filtroGraph a livello programmatico.

È stato utile?

Soluzione

no, hai bisogno Per farlo Via Moniker . Dipende dalla classe COM effettiva che sostiene il filtro della sorgente video, tuttavia quasi sempre non c'è un CLSID di generazione unico ed è impossibile istanziarlo non tramite moniker.

Se si dispone del nome visualizzato Moniker, è possibile utilizzare MkParseDisplayName per ottenere rapidamente l'enumerazione bypassing imoniker. Oppure puoi enumerare e confrontare il nome visualizzato di Moniker a quello che già tieni.

.

Per selezionare un dispositivo di acquisizione audio o video, utilizzare il dispositivo di sistema Enumerator, descritto nell'argomento utilizzando l'enumeratore del dispositivo di sistema. L'enumeratore del dispositivo di sistema restituisce una raccolta di monitors del dispositivo, selezionato dalla categoria del dispositivo. Un moniker è un oggetto COM che contiene informazioni su un altro oggetto. I moniker consentono all'applicazione a Ottieni informazioni su un oggetto senza creare effettivamente l'oggetto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top