Condividi tramite


Interfaccia IMediaDet

[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.

Nota

[Deprecata. Questa API può essere rimossa dalle versioni future di Windows.]

 

L'interfaccia IMediaDet recupera informazioni su un file multimediale, ad esempio il numero di flussi, il tipo di supporto, la durata e la frequenza dei fotogrammi di ogni flusso. Contiene anche metodi per recuperare singoli fotogrammi da un flusso video. L'oggetto Media Detector (MediaDet) espone questa interfaccia.

Per ottenere informazioni su un file tramite questa interfaccia, seguire questa procedura:

  1. Creare un'istanza dell'oggetto MediaDet chiamando CoCreateInstance. L'ID classe è CLSID_MediaDet.
  2. Chiamare IMediaDet::p ut_Filename per specificare il nome del file di origine.
  3. Chiamare IMediaDet::get_OutputStreams per ottenere il numero di flussi di output nell'origine.
  4. Chiamare IMediaDet::p ut_CurrentStream per specificare un flusso specifico.
  5. Chiamare uno dei metodi seguenti:

Per recuperare un fotogramma video, chiamare IMediaDet::GetBitmapBits o IMediaDet::WriteBitmapBits. Il frame restituito è sempre in formato RGB a 24 bit.

Nota

Non utilizzare lo stesso oggetto MediaDet con più file. Per ottenere informazioni o fotogrammi video da più file, usare istanze mediaDet separate.

 

L'interfaccia IMediaDet non supporta i formati VIDEOINFOHEADER2 , pertanto non è possibile utilizzare questa interfaccia per ottenere campi interlacciati o informazioni sull'interlacciamento. Inoltre, se il decodificatore upstream supporta solo VIDEOINFOHEADER2, non è possibile usare IMediaDet. Questo potrebbe essere il caso di un decodificatore MPEG-2, ad esempio. Inoltre, l'interfaccia IMediaDet ignora tutti i flussi nel file che non sono video o audio. Ad esempio, se il file contiene un flusso audio, un flusso di dati e un flusso video, il metodo get_OutputStreams segnalerà solo due flussi (audio e video).

Membri

L'interfaccia IMediaDet eredita dall'interfaccia IUnknown . IMediaDet include anche questi tipi di membri:

Metodi

L'interfaccia IMediaDet include questi metodi.

Metodo Descrizione
EnterBitmapGrabMode Passa il rilevatore multimediale alla modalità di cattura bitmap e cerca il grafico del filtro a un'ora specificata.
get_CurrentStream Recupera il numero di flusso attualmente utilizzato dal rilevatore multimediale.
get_Filename Recupera il nome del file di origine attualmente utilizzato dal rilevatore di supporti.
get_Filter Recupera un puntatore al filtro di origine attualmente utilizzato dal rilevatore di supporti.
get_FrameRate Recupera la frequenza dei fotogrammi del flusso corrente.
get_OutputStreams Recupera il numero di flussi audio e video contenuti nell'origine multimediale.
get_StreamLength Recupera la durata del flusso corrente.
get_StreamMediaType Recupera il tipo di supporto del flusso corrente.
get_StreamType Recupera l'identificatore univoco globale (GUID) per il tipo di supporto del flusso corrente.
get_StreamTypeB Recupera una stringa che rappresenta il GUID del tipo di supporto per il flusso corrente.
GetBitmapBits Recupera un fotogramma video in corrispondenza del tempo multimediale specificato.
GetSampleGrabber Recupera un puntatore all'interfaccia ISampleGrabber .
put_CurrentStream Specifica il numero di flusso da usare per il rilevatore multimediale.
put_Filename Specifica il nome del file di origine da usare per il rilevatore multimediale.
put_Filter Specifica un filtro di origine da usare per il rilevatore multimediale.
WriteBitmapBits Recupera un fotogramma video nel tempo multimediale specificato e lo scrive in un file.

 

Commenti

Nota

Il file di intestazione Qedit.h non è compatibile con le intestazioni Direct3D successive alla versione 7.

 

Nota

Per ottenere Qedit.h, scaricare l'aggiornamento Microsoft Windows SDK per Windows Vista e .NET Framework 3.0. Qedit.h non è disponibile nella Microsoft Windows SDK per Windows 7 e .NET Framework 3.5 Service Pack 1.

 

Requisiti

Requisito Valore
Intestazione
Qedit.h
Libreria
Strmiids.lib