Windows Media Format SDK-Beispielanwendungen
Der mit diesem SDK bereitgestellte Beispielcode liegt in Form von Projekten für Microsoft Visual Studio 2005 vor. Die meisten Beispiele befinden sich in C++, aber ManagedWMFSDKWrapper und ManagedMetadataEdit erfordern C#.
Diese Beispiele funktionieren nur, wenn das Windows Media Format SDK oder das Windows Player SDK installiert wurde.
Die Verwendungsinformationen für jedes Beispiel sind in einer readme.txt in jedem Beispielverzeichnis enthalten.
| Samle | BESCHREIBUNG |
|---|---|
| Audioplayer | Gibt Windows Mediendateien einschließlich DRM-geschützter Dateien wieder. Sie wird über eine grafische Benutzeroberfläche gesteuert, und befehle umfassen Wiedergabe, Pause, Suchen und Beenden. Sie kann lokale Dateien oder Dateien wiederverlesen, die aus dem Internet gelesen werden (einschließlich der Ausgaben in das Internet mithilfe des WMVNetWrite-Beispiels).[!Note] |
| DRMHeader | DRMHeader ist eine Konsolenanwendung, die die IWMDRMEditor-Schnittstelle des Metadaten-Editors verwendet, um DRM-Attribute von Dateien zu lesen, ohne eine Verknüpfung mit der statischen DRM-Bibliothek zu erstellen.[!Note] |
| DRMShow | DRMShow ist eine Konsolenanwendung, die zeigt, wie SIE DRM-Eigenschaften einer Windows Media-Datei mithilfe der IWMDRMReader::GetDRMProperty-Methode lesen. Dieses Beispiel veranschaulicht die Verwendung der IWMDRMReader::GetDRMProperty-Methode und der Eigenschaften, die vom DRM-Reader abgerufen werden können. Es wird nicht veranschaulicht, wie Sie eine Lizenz für DRM-geschützte Inhalte erwerben. Für dieses Beispiel muss die DRM-Stubbibliothek WMStubDRM.lib erstellt werden.[!Note] Wenn Sie wmstubDRM.lib von Microsoft erwerben, wird der Bibliothek eine Anwendungssicherheitsebene zugewiesen. Wenn die Sicherheitsstufe der Bibliothek, die Sie erhalten, nicht ausreicht, um eine geschützte Datei wieder zu spielen, wird in diesem Beispiel ein Fehler angezeigt. |
| DirectShowInterop/DSCopy | Transcodiert eine oder mehrere Dateien mithilfe des DirectShow WM ASF Writer-Filters in eine ASF-Datei. Die Eingabedatei kann ein beliebiges komprimiertes oder nicht komprimiertes Format sein, das von DirectShow unterstützt wird. |
| DirectShowInterop/DSPlay | Dieses Beispiel ist ein interaktiver Audio-/Videomediendateiplayer mit DRM-Unterstützung. Er verwendet den WM ASF-Readerfilter von DirectShow, um Windows-Mediendateien (ASF, WMA, WMV) ohne DRM-Schutz und Dateien wieder zu verwenden, die DRM mit einer Ebene von mindestens 100 verwenden. Weitere readme.txt sie im Verzeichnis des Beispiels. |
| DirectShowInterop/DSSeekFm | In diesem Beispiel wird veranschaulicht, wie Sie den DirectShow WM ASF-Readerfilter verwenden, um ASF-Inhalte in einem DirectShow-Filterdiagramm wieder anzuzeigen, und wie Sie den Frame verwenden, der Unterstützung im Windows Media Format SDK sucht. |
| Managed/WMFSDKWrapper | Diese verwaltete Assembly dient als Wrapper, der von Beispielen mit verwaltetem Code für den Zugriff auf einige Metadatenschnittstellen dieses SDK verwendet wird. |
| Verwaltet/MetadatenEdit | Diese C#-Anwendung kann zum Anzeigen und Bearbeiten von Metadaten aus Windows Mediendateien verwendet werden. |
| MetaDataEdit | Dies ist eine C++-Version der Anwendung Managed MetadataEdit. |
| ReadFromStream | Dieses Konsolenanwendungsbeispiel zeigt, wie Daten aus IStream mit WMReader gelesen werden. Die IStream-Quelle wurde implementiert, um eine Datei im Windows Medienformat (WMA/WMV/ASF) zu verwenden.[!Note] |
| UncompAVIToWMV | Dieses Konsolenanwendungsbeispiel zeigt den erforderlichen Code zum Komprimieren einer AVI-Datei in eine WMV-Datei. Es wird gezeigt, wie Sie Beispiele für Audio- und Videostreams aus mehreren AVI-Dateien zusammenführen und diese entweder in ähnlichen Streams zusammenführen oder einen neuen Stream basierend auf dem Quellstreamprofil erstellen. Außerdem wird gezeigt, wie Sie einen beliebigen Stream erstellen, multipass-Codierungen ausführen, SMPTE-Zeitcode hinzufügen und DRM-Schutz der Version 1 anwenden. |
| WMGenProfile/exe | Dieses Beispiel wurde von Release 7.1 aktualisiert. Es handelt sich nun um eine MFC-Dialoganwendung. Das WMGenProfile-Beispiel veranschaulicht die Verwendung der statischen WMGenProfile-Bibliothek. Sie dient auch als Tool für die Erstellung von Profilen. Dieses Tool ist für Entwickler gedacht, die mit dem Windows Medienformat vertraut sind. Die Benutzeroberfläche wurde nicht auf Benutzerfreundlichkeit getestet und ist nicht als Empfehlung zur Präsentation dieser Informationen für einen Benutzer gedacht. |
| WMGenProfile/lib | Das GenProfile-Bibliotheksbeispiel veranschaulicht die Erstellung von Profilen. Es wird gezeigt, wie Medientypen und Streams für verschiedene Streamtypen (Audio, Video, Skript, Bild, Dateiübertragung und Web) erstellt werden. Es wird nicht veranschaulicht, wie Sie mit Systemprofilen arbeiten oder Systemprofile in Profile konvertieren, die die Codecs Windows Media Audio und Video 9 Series angeben. |
| WMProp | Diese Konsolenanwendung veranschaulicht, wie Attribute mithilfe des Metadaten-Editorobjekts und der Profilinformationen aus dem Reader abgerufen werden. |
| WMStats | Diese Konsolenanwendung zeigt Reader- und Writer-Statistiken an. Mehrere Instanzen von WMStats können auch gleichzeitig auf einem Computer verwendet werden. Starten Sie eine Instanz als Server, um den Stream an das Netzwerk zu senden, und führen Sie dann eine zweite Instanz als Client aus, um sicherzustellen, dass der Server ordnungsgemäß gestreamt wird. |
| WMSyncReader | Dieses Konsolenanwendungsbeispiel zeigt, wie Sie eine Mediendatei mitHILFE von IWMSyncReader lesen, ohne zusätzliche Threads zu erstellen oder Rückrufe zu verwenden. Die folgenden Features werden implementiert: Lesen komprimierter oder dekomprimierten Beispiele Zeitbasierte Suche Framebasierte Suche Von IStream abgeleitete Quelle |
| WMVAppend | Diese Konsolenanwendung verwendet Windows Mediendateien für die Eingabe und versucht, eine Ausgabedatei mit dem Inhalt der ersten datei zu erstellen, gefolgt von der zweiten. Im Beispiel werden die Profile der beiden Eingabedateien verglichen, um sicherzustellen, dass sie ähnlich genug sind, um angefügt zu werden. Wenn dies nicht der Fall ist, wird eine Fehlermeldung angezeigt. Eine Fehlermeldung tritt z. B. auf, wenn eine Datei nur Audio und die zweite eine Audiovideodatei ist oder wenn zwei Audiodateien unterschiedliche Bitraten haben. Im Beispiel werden VBR-Quellen (Variable Bit Rate) akzeptiert. Beim Vergleich der Profile der beiden VBR-Quellen ignoriert das Beispiel jedoch die durchschnittliche Bitratendifferenz, da zwei VBR-Datenströme unterschiedliche durchschnittliche Bitraten haben, selbst wenn sie mit demselben Profil erstellt wurden. WMVAppend kann die Spitzenbitrate von nicht konstraineden bitratenbasierten VBR-Datenströmen oder die Qualitätsstufe qualitätsbasierter VBR-Datenströme nicht vergleichen, da diese Informationen in den Quelldateien nicht vorhanden sind. Daher liegt es in der Verantwortung des Benutzers, sicherzustellen, dass zwei Quelldateien mit demselben Profil erstellt werden. Andernfalls kann ungültiger Inhalt erstellt werden. |
| WMVCopy | Dieses Beispiel zeigt den Code, der zum Kopieren einer WMV-Datei erforderlich ist. Es wird gezeigt, wie Komprimierte Beispiele gelesen und geschrieben, Headerattribute und Skripts gelesen und Headerattribute geändert werden. |
| WMVNetWrite | Diese Konsolenanwendung zeigt, wie Windows Mediendatei über das Internet gestreamt wird. Für das Beispiel muss ein Port angegeben werden, und die Datei kann dann mithilfe eines Players abgespielt werden. |
| WMVRecompress | Diese Konsolenanwendung zeigt, wie Sie eine WMV-Datei erneut dekomprimieren. Es veranschaulicht das Lesen von unkomprimierten Beispielen, das Schreiben nicht komprimierter Beispiele und das Verwenden von Multipasscodierung, Multikanalausgabe und intelligenter Rekomprimierung. |