Share via


Verwenden des objektmodells Windows Medienwiedergabe 7 oder höher

[Das dieser Seite zugeordnete Feature Windows Medienwiedergabe SDK ist ein Legacyfeature. Es wurde von MediaPlayer abgelöst. MediaPlayer wurde für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, mediaPlayer anstelle von Windows Medienwiedergabe SDK für neuen Code zu verwenden. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die meisten Aufgaben, die Sie möglicherweise mit dem Windows Medienwiedergabe 6.4 ActiveX-Steuerelementobjektmodell ausgeführt haben, erfordern einen neuen Ansatz. In vielen Fällen haben sich die Namen der Eigenschaften, Methoden und Ereignisse im objektmodell Windows Medienwiedergabe 7 oder höher geändert. Wenn Sie instance den Dateipfad im Objektmodell der Version 6.4 angeben möchten, legen Sie die Player6.FileName-Eigenschaft fest:

WMP64.FileName = "https://www.microsoft.com/somefile.wmv";

Wenn Sie das objektmodell Windows Medienwiedergabe 7 oder höher verwenden, müssen Sie die Player.URL-Eigenschaft festlegen:

WMP9.URL = "https://www.microsoft.com/somefile.wmv";

Alternativ können Sie mit dem 10-Objektmodell ein Media-Objekt aus der Bibliothek abrufen und dann die Player.currentMedia-Eigenschaft festlegen:

// Get the first media object in the media collection.
var MyMediaItem = WMP9.mediaCollection.getAll().item(0)

// Make the MyMediaItem object the current media.
WMP9.currentMedia = MyMediaItem;

Auf einen Großteil der Funktionalität im objektmodell Windows Medienwiedergabe 7 oder höher wird über die Objekthierarchie zugegriffen. Wie im vorherigen Beispiel gezeigt, können Sie ein Playlist-Objekt mithilfe der getAll-Methode des mediaCollection-Objekts abrufen, auf das über das Player-Stammobjekt zugegriffen wird. Sie können dann ein bestimmtes Media-Objekt aus dem Playlist-Objekt abrufen, indem Sie die item-Methode des Playlist-Objekts verwenden. Es gibt fünf zusätzliche Methoden, auf die über das mediaCollection-Objekt zugegriffen werden kann, die ein Playlist-Objekt zurückgeben. Mit jeder Methode können Sie das Objekt basierend auf bestimmten Kriterien abrufen, z. B. Genre oder Album.

Die hierarchische Struktur des Windows Medienwiedergabe 7 oder höher des ActiveX-Steuerelementobjektmodells bietet einen logischeren Ansatz zum Organisieren der eigenschaften, Methoden und Ereignisse, die für Ihre Verwendung verfügbar sind. Alle Funktionen für die Player-Steuerelemente sind im Controls-Objekt enthalten, alle Funktionen für die Player-Netzwerkverbindung sind im Network-Objekt enthalten usw. Um beispielsweise mit der Wiedergabe von Inhalten mit dem Objektmodell der Version 6.4 zu beginnen, verwenden Sie die Player6.Play-Methode :

WMP64.Play();

Wenn Sie das objektmodell Windows Medienwiedergabe 7 oder höher verwenden, müssen Sie mithilfe des Controls-Objekts auf die Play-Methode zugreifen:

WMP9.controls.play();

Die Tiefe des Objektmodells kann jedoch zu sehr langen Skriptanweisungen führen:

WMP9.currentPlaylist.appendItem(WMP9.mediaCollection.getByName("MySong").item(0));

Anweisungen wie die vorherige können viel einfacher und besser lesbar gemacht werden, indem sie mit einzelnen benannten Objekten arbeiten. Im folgenden Beispiel wird die vorangehende Codeanweisungen durch syntax ersetzt, indem separate Objektvariablen verwendet werden:

// Store the current playlist object.
var pl = WMP9.currentPlaylist;

// Get a playlist from the media collection that contains
// one media item named "MySong".
var temp = WMP9.mediaCollection.getByName("MySong");

// Get the individual media item from the temp playlist.
var song = temp.item(0);

// Append the media item to the current playlist.
pl.appendItem(song);

Dieser Codierungsstil erfordert mehr Skriptzeilen, ist aber viel einfacher zu folgen, insbesondere mit den hinzugefügten Kommentaren. Es gibt einen weiteren Vorteil: Das currentPlaylist-Objekt lässt sich leicht wiederverwenden, da es in der Variablen pl gespeichert wird.

Viele der Eigenschaften, Methoden und Ereignisse im Windows Medienwiedergabe Objektmodell 7 oder höher legen unterschiedliche Werte fest oder rufen sie ab oder geben Werte eines anderen Typs oder einer anderen Zahl im Vergleich zu den entsprechenden Funktionen im Objektmodell der Version 6.4 zurück. Wenn Player6.openState 2 für instance abruft, entspricht dieser Wert der Visual Basic-Konstante nsLoadingNSC, d. h. der Player lädt eine Station-Datei mit der Dateinamenerweiterung .nsc. Wenn jedoch die Windows Medienwiedergabe Objektmodelleigenschaft Player.openState 7 oder höher 2 abruft, entspricht dieser Wert dem Status PlaylistLocating, was bedeutet, dass Windows Medienwiedergabe versucht, eine Wiedergabeliste zu suchen. Darüber hinaus kann die Player6.openState-Eigenschaft sieben verschiedene Werte abrufen, während die Windows Medienwiedergabe 7 oder höher Player.openState-Eigenschaft 22 verschiedene Werte abrufen kann. Achten Sie beim Überarbeiten von Code zur Verwendung einer anderen Objektmodellversion unbedingt auf den Abschnitt Objektmodellreferenz für Skripterstellung des Windows Medienwiedergabe SDK.

Informationen zum Player-Objektmodell

Objektmodellreferenz für Skripterstellung

Leitfaden zur Objektmodellmigration