Verwenden der Medienerkennung
[Diese API wird nicht unterstützt und kann in Zukunft geändert oder nicht mehr verfügbar sein.]
Die Medienerkennung ist ein Hilfsobjekt, das Informationen zu einer Datei abrufen kann, z. B. die Anzahl der Streams, ihren Typ und ihre Dauer. Sie enthält auch Methoden zum Abrufen von Posterrahmen aus einem Videostream. Es macht die IMediaDet-Schnittstelle verfügbar.
Die Medienerkennung arbeitet in einem von zwei Modi. Wenn Sie eine Instanz der Medienerkennung erstellen, wird sie nicht an eine bestimmte Quelldatei angefügt. In diesem Modus können Sie Streaminformationen aus mehreren Quelldateien abrufen. Sobald Sie jedoch die Medienerkennung verwenden, um einen Posterrahmen zu erhalten, wechselt er in den Bitmap-Greifmodus. Im Bitmap-Greifmodus wird die Medienerkennung an einen bestimmten Videostream angefügt, und die Streaminformationsmethoden funktionieren nicht mehr. Darüber hinaus gibt es keine Möglichkeit, die Medienerkennung wieder in den Startmodus zu schalten. Beziehen Sie daher alle Datenstrominformationen, die Sie benötigen, bevor Sie Posterrahmen abrufen, oder erstellen Sie für jeden Stream neue Instanzen der Medienerkennung.
Gehen Sie wie folgt vor, um Streaminformationen zu erhalten:
- Rufen Sie IMediaDet::p ut _ Filename mit dem Namen der Quelldatei auf.
- Rufen Sie IMediaDet::get _ OutputStreams auf, um die Anzahl der Streams in der Quelle zu erhalten.
- Geben Sie eine Streamnummer mit IMediaDet::p ut _ CurrentStream an. Rufen Sie dann eine oder mehrere der folgenden Methoden auf:
- IMediaDet::get _ StreamType:Ruft den Medientyp des Streams ab.
- IMediaDet::get _ StreamLength:Ruft die Dauer des Streams ab.
- IMediaDet::get _ FrameRate:Ruft die Bildfrequenz eines Videostreams ab.
Um einen Posterrahmen zu erhalten, geben Sie die Streamnummer wie im vorherigen Schritt an. Rufen Sie dann entweder IMediaDet::GetBitmapBitsauf, um einen Posterrahmen in einen Puffer zu kopieren, oder IMediaDet::WriteBitmapBits, wodurch ein Posterrahmen in einer Datei gespeichert wird.