Freigeben über


IAMStreamControl-Schnittstelle (strmif.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die IAMStreamControl Schnittstelle steuert einzelne Streams in einem Filter. Anheften an einige Filter machen diese Schnittstelle verfügbar. Beispielsweise unterstützt der AVI Mux-Filter diese Schnittstelle an seinen Eingabestiften, und der Audioaufnahmefilter und der WDM Video Capture Filter unterstützen sie an ihren Ausgabepins.

Mit dieser Schnittstelle kann eine Anwendung Streams zu bestimmten Zeiten ein- und ausschalten. Beispielsweise kann eine Anwendung einen Audiodatenstrom deaktivieren, um die Audiowiedergabe während der Videovorschau stumm zu schalten. Erfassungsanwendungen können diese Schnittstelle verwenden, um genaue Start- und Stoppzeiten für die Aufzeichnung anzugeben und um Aufzeichnungs- und Vorschaudatenströme unabhängig voneinander zu steuern.

Um diese Schnittstelle zu verwenden, rufen Sie die IAMStreamControl::StartAt-Methode auf, um anzugeben, wann der Pin mit der Übermittlung von Daten beginnt, und die IAMStreamControl::StopAt-Methode , um anzugeben, wann die Übermittlung von Daten beendet wird. Rufen Sie dann IMediaControl::Run für den Filtergraph-Manager auf, um das Filterdiagramm auszuführen. Alle Zeiten sind relativ zu dem Zeitpunkt, zu dem das Diagramm ausgeführt wird.

Beachten Sie bei Verwendung dieser Schnittstelle die folgenden Einschränkungen:

  • Im Filterdiagramm muss eine Referenzuhr vorhanden sein.
  • Vorschaupins auf Erfassungskarten mit Hardwareüberlagerung unterstützen diese Schnittstelle nicht.
  • Wenn Sie Audio- und Videodaten in einer verschachtelten AVI-Datei erfassen, benötigt der AVI Mux-Filter Daten in beiden Streams. Wenn Sie einen Stream beenden, kann der Filter die Daten nicht verweben. Weitere Informationen finden Sie unter IConfigInterleaving Interface.
Je nach Anwendung können Sie die ICaptureGraphBuilder2::ControlStream-Methode bequemer finden, da sie die Streamsteuerung auf Graphebene unterstützt, sodass Sie keine einzelnen Filter und Pins auflisten müssen.

Filterentwickler: Die CBaseStreamControl-Basisklasse implementiert diese Schnittstelle.

Vererbung

Die IAMStreamControl-Schnittstelle erbt von der IUnknown-Schnittstelle . IAMStreamControl verfügt auch über folgende Membertypen:

Methoden

Die IAMStreamControl-Schnittstelle verfügt über diese Methoden.

 
IAMStreamControl::GetInfo

Die GetInfo-Methode ruft Informationen zu den aktuellen Einstellungen für die Streamsteuerung ab, einschließlich der Start- und Stoppzeiten.
IAMStreamControl::StartAt

Die StartAt-Methode informiert den Pin, wann mit der Übermittlung von Daten begonnen werden soll.
IAMStreamControl::StopAt

Die StopAt-Methode informiert den Pin, wann die Übermittlung von Daten beendet werden soll.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)

Siehe auch

CBaseStreamControl-Klasse

Fehler- und Erfolgscodes