Condividi tramite


Uso di Media Detector

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

[Questa API non è supportata e potrebbe essere modificata o non disponibile in futuro.]

Il rilevatore multimediale è un oggetto helper in grado di recuperare informazioni su un file, ad esempio il numero di flussi, il relativo tipo e la relativa durata. Contiene anche metodi per il recupero di fotogrammi poster da un flusso video. Espone l'interfaccia IMediaDet .

Il rilevatore multimediale opera in una delle due modalità. Quando si crea un'istanza del rilevatore di supporti, non è collegata a un file di origine specifico. In questa modalità è possibile recuperare le informazioni di flusso da più file di origine. Tuttavia, dopo aver usato il rilevatore multimediale per ottenere un frame poster, passa alla modalità di acquisizione bitmap. In modalità di cattura bitmap, il rilevatore multimediale è collegato a un flusso video specifico e i metodi di informazioni sul flusso non funzionano più. Inoltre, non è possibile ripristinare la modalità iniziale del rilevatore multimediale. Di conseguenza, ottenere tutte le informazioni di flusso necessarie prima di recuperare i fotogrammi poster oppure creare nuove istanze del rilevatore multimediale per ogni flusso.

Per ottenere informazioni sul flusso, eseguire le operazioni seguenti:

  1. Chiamare IMediaDet::p ut_Filename con il nome del file di origine.
  2. Chiamare IMediaDet::get_OutputStreams per ottenere il numero di flussi nell'origine.
  3. Specificare un numero di flusso con IMediaDet::p ut_CurrentStream. Chiamare quindi uno o più dei metodi seguenti:

Per ottenere un frame poster, specificare il numero di flusso, come nel passaggio precedente. Chiamare quindi IMediaDet::GetBitmapBits, che copia un frame poster in un buffer o IMediaDet::WriteBitmapBits, che salva un frame poster in un file.

Uso delle origini