Condividi tramite


Interfaccia IAMStreamControl (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 IAMStreamControl controlla singoli flussi in un filtro. I pin su alcuni filtri espongono questa interfaccia. Ad esempio, il filtro AVI Mux supporta questa interfaccia sui pin di input e il filtro di acquisizione audio e il filtro di acquisizione video WDM supportano il filtro per l'acquisizione di dati nei pin di output.

Questa interfaccia consente a un'applicazione di attivare e disattivare i flussi in orari specificati. Ad esempio, un'applicazione potrebbe disattivare un flusso audio per disattivare l'audio durante l'anteprima video. Le applicazioni di acquisizione possono usare questa interfaccia per specificare orari di inizio e arresto precisi per l'acquisizione e per controllare i flussi di acquisizione e anteprima in modo indipendente tra loro.

Per usare questa interfaccia, chiamare il metodo IAMStreamControl::StartAt per specificare quando il pin inizierà a recapitare i dati e il metodo IAMStreamControl::StopAt per specificare quando interromperà la distribuzione dei dati. Chiamare quindi IMediaControl::Run in Filter Graph Manager per eseguire il grafico del filtro. Tutti i tempi sono relativi all'avvio del grafico.

Quando si usa questa interfaccia, tenere presente le limitazioni seguenti:

  • Deve essere presente un orologio di riferimento nel grafico del filtro.
  • I pin di anteprima sulle schede di acquisizione con sovrimpressione hardware non supportano questa interfaccia.
  • Se si acquisiscono audio e video in un file AVI interleaved, il filtro AVI Mux richiede entrambi i flussi di dati. Se si arresta un flusso, il filtro non può interlevare i dati. Per altre informazioni, vedere Interfaccia IConfigInterleaving.
A seconda dell'applicazione, è possibile trovare il metodo ICaptureGraphBuilder2::ControlStream più pratico, perché supporta il controllo di flusso a livello di grafico, in modo che non sia necessario enumerare singoli filtri e pin.

Filtrare gli sviluppatori: la classe di base CBaseStreamControl implementa questa interfaccia.

Ereditarietà

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

Metodi

L'interfaccia IAMStreamControl include questi metodi.

 
IAMStreamControl::GetInfo

Il metodo GetInfo recupera informazioni sulle impostazioni correnti del controllo di flusso, inclusi gli orari di avvio e arresto.
IAMStreamControl::StartAt

Il metodo StartAt informa il pin quando avviare la distribuzione dei dati.
IAMStreamControl::StopAt

Il metodo StopAt informa il pin quando interrompere la distribuzione dei dati.

Requisiti

   
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)

Vedi anche

Classe CBaseStreamControl

Codici errore e esito positivo