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:
- Creare un'istanza dell'oggetto MediaDet chiamando CoCreateInstance. L'ID classe è CLSID_MediaDet.
- Chiamare IMediaDet::p ut_Filename per specificare il nome del file di origine.
- Chiamare IMediaDet::get_OutputStreams per ottenere il numero di flussi di output nell'origine.
- Chiamare IMediaDet::p ut_CurrentStream per specificare un flusso specifico.
- 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 |
|
Libreria |
|