Interfaccia IMediaSample (strmif.h)
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine 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, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
L'interfaccia IMediaSample
imposta e recupera le proprietà negli esempi multimediali. Un esempio multimediale è un oggetto COM che contiene un blocco di dati multimediali. Gli esempi di supporti supportano l'uso dei buffer di memoria condivisi tra i filtri.
In genere, le applicazioni non chiamano metodi su questa interfaccia. I filtri usano questa interfaccia per impostare le proprietà sugli esempi e distribuire gli esempi a un filtro downstream. Il filtro downstream usa l'interfaccia per recuperare le proprietà e leggere i dati. Il filtro può modificare i dati sul posto oppure può copiare l'esempio, modificare la copia e passare la copia downstream.
L'interfaccia IMediaSample2 eredita questa interfaccia.
Ereditarietà
L'interfaccia IMediaSample eredita dall'interfaccia IUnknown . IMediaSample include anche questi tipi di membri:
Metodi
L'interfaccia IMediaSample include questi metodi.
IMediaSample::GetActualDataLength Il metodo GetActualDataLength recupera la lunghezza dei dati validi nel buffer. |
IMediaSample::GetMediaTime Il metodo GetMediaTime recupera i tempi multimediali per questo esempio. |
IMediaSample::GetMediaType Il metodo GetMediaType recupera il tipo di supporto, se il tipo di supporto è diverso dall'esempio precedente. |
IMediaSample::GetPointer Il metodo GetPointer recupera un puntatore di lettura/scrittura nel buffer dell'esempio multimediale. |
IMediaSample::GetSize Il metodo GetSize recupera le dimensioni del buffer. |
IMediaSample::GetTime Il metodo GetTime recupera i tempi di flusso in cui questo esempio deve iniziare e terminare. |
IMediaSample::IsDiscontinuity Il metodo IsDiscontinuity determina se questo esempio rappresenta un'interruzione nel flusso di dati. |
IMediaSample::IsPreroll Il metodo IsPreroll determina se questo esempio è un esempio di preroll. Non deve essere visualizzato un esempio di preroll. |
IMediaSample::IsSyncPoint Il metodo IsSyncPoint determina se l'inizio di questo esempio è un punto di sincronizzazione. |
IMediaSample::SetActualDataLength Il metodo SetActualDataLength imposta la lunghezza dei dati validi nel buffer. |
IMediaSample::SetDiscontinuity Il metodo SetDiscontinuity specifica se questo esempio rappresenta un'interruzione nel flusso di dati. |
IMediaSample::SetMediaTime Il metodo SetMediaTime imposta i tempi di supporto per questo esempio. |
IMediaSample::SetMediaType Il metodo SetMediaType imposta il tipo di supporto per l'esempio. |
IMediaSample::SetPreroll Il metodo SetPreroll specifica se questo esempio è un esempio di preroll. |
IMediaSample::SetSyncPoint Il metodo SetSyncPoint specifica se l'inizio di questo esempio è un punto di sincronizzazione. |
IMediaSample::SetTime Il metodo SetTime imposta i tempi di flusso quando questo esempio deve iniziare e terminare. |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | strmif.h (include Dshow.h) |