Freigeben über


Greifen eines Posterrahmens

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

[Diese API wird nicht unterstützt und kann in Zukunft geändert oder nicht mehr verfügbar sein.]

In diesem Artikel wird beschrieben, wie Sie einen Posterrahmen aus einer digitalen Mediendatei mithilfe des Media Detector-Objekts (MediaDet) anzeigen, das mit DirectShow Editing Services bereitgestellt wird.

Die Medienerkennung ist ein Hilfsobjekt, das Formatinformationen aus einer Medienquelldatei abrufen kann. Es kann auch ein Bitmapbild aus einem Videostream in der Quelldatei abrufen. Unter der Annahme, dass die Datei durchsuchbar ist, können Sie das Bild von einem beliebigen Punkt in der Datei abrufen. Das zurückgegebene Bild ist immer im 24-Bit-RGB-Format.

Die Medienerkennung ist kein Filter, und die Anwendung muss weder den Filtergraph-Manager verwenden noch ein Filterdiagramm erstellen. Intern erstellt die Medienerkennung ein Filterdiagramm, das den Beispielgrabberfilter enthält. Um eine Bitmap abzurufen, sucht und hält die Medienerkennung das Filterdiagramm an und ruft dann die Bitmap aus dem Filter Sample Grabber ab. Die Anwendung kommuniziert mit der Medienerkennung über die IMediaDet-Schnittstelle . Die Medienerkennung ist ein gutes Beispiel für die Kapselung eines Filtergraphen in einem Hilfsobjekt, um Anwendungen vor graphbezogenen Details zu schützen.

Die Medienerkennung arbeitet in zwei Modi. Wenn Sie sie zum ersten Mal erstellen, befindet sich die Medienerkennung im "Informationssammelmodus". Sie können den Namen einer Mediendatei angeben und Informationen zu den einzelnen Streams in der Datei abrufen, z. B. den Formattyp, die Bildfrequenz oder die Dauer. Wenn die Datei einen Videostream enthält, können Sie die Medienerkennung in den Modus "Bitmap-Zugriff" wechseln und Bitmaps aus der Quelle abrufen. Sobald Sie dies tun, können Sie die Medienerkennung jedoch nicht wieder in den ursprünglichen Modus wechseln. es ist dauerhaft an diesen Videostream angefügt. Um mit einem anderen Stream oder einer anderen Datei zu arbeiten, müssen Sie eine neue instance der Medienerkennung erstellen.

Hinweis

In den Codebeispielen in diesem Tutorial wird die ATL-CComPtr-Klasse verwendet, die die Verweisanzahl automatisch verwaltet. Wenn Sie unformatierte Schnittstellenzeiger verwenden möchten, denken Sie daran, jede Schnittstelle freizugeben, wenn Sie damit fertig sind. Außerdem lassen die Codebeispiele aus Gründen der Kürze einen Großteil der Fehlerüberprüfung aus, die eine Anwendung ausführen sollte. Überprüfen Sie im funktionierenden Code immer die HRESULT-Werte .

 

Folgende Themen werden in diesem Lernprogramm behandelt:

Verwenden von DirectShow-Bearbeitungsdiensten