Share via


Wiedergabelisten

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

Das Windows Medienwiedergabe 6.4 ActiveX-Steuerelementobjektmodell umfasst vier Methoden und eine Eigenschaft zum Arbeiten mit Windows Media-Metadateiwiedergabelisten:

  • Player6. GetCurrentEntry
  • Player6. SetCurrentEntry
  • Player6. GetMediaParameter
  • Player6. GetMediaParameterName
  • Player6. EntryCount.

Zusammen bieten diese Funktionen eingeschränkte Funktionen zum Navigieren in einer Wiedergabeliste-Metadatei mit der Dateinamenerweiterung .asx und zum Abrufen von Informationen zu den Einträgen in der Wiedergabeliste.

Windows Medienwiedergabe 7 wurde "Media Library" eingeführt. Mit der Bibliothek können Benutzer ihre digitalen Medieninhalte organisieren und benutzerdefinierte Wiedergabelisten erstellen, die über die grafische Benutzeroberfläche des Players verwaltet werden können. Das Windows Medienwiedergabe 7 oder höher des ActiveX-Steuerelementobjektmodells bietet Unterstützung für die Arbeit mit Bibliothekswiedergabelisten sowie Wiedergabelisten, die in Windows Media-Metadateien mit der Dateinamenerweiterung .asx enthalten sind.

Hinweis

Aus Sicherheitsgründen muss der Benutzer der Bibliothek Zugriffsrechte erteilen, bevor ihr Programm den Inhalt bearbeiten kann. Zugriffsrechte können nur über das Objektmodell der Windows Medienwiedergabe 9 Serie oder höher angefordert und gewährt werden. Ausführliche Informationen zu Zugriffsrechten finden Sie unter Bibliothekszugriff.

 

Das Windows Medienwiedergabe 7- oder höher-Objektmodell enthält drei Objekte für die Behandlung von Wiedergabelisten. Das PlaylistCollection-Objekt bietet Funktionen zum Organisieren von Wiedergabelisten. Sie stellt die gesamte Sammlung von Wiedergabelisten in der Bibliothek des Benutzers dar. Das PlaylistArray-Objekt bietet eine Möglichkeit, eine bestimmte Wiedergabeliste aus dem PlaylistCollection-Objekt mithilfe einer Indexnummer abzurufen. zwei der Methoden des PlaylistCollection-Objekts rufen ein PlaylistArray-Objekt ab. Das Playlist-Objekt stellt die Eigenschaften und Methoden bereit, die zum Bearbeiten von Medienelementen in einer einzelnen Wiedergabeliste erforderlich sind.

Da beispielsweise jede Wiedergabeliste in der Bibliothek über einen eindeutigen Namen verfügt, können Sie mithilfe der PlaylistCollection eine Wiedergabeliste aus der Bibliothek abrufen. getByName-Methode :

// Retrieve a PlaylistArray object that contains 
// exactly one Playlist object.
var plarray = WMP9.playlistCollection.getByName("MyPlaylist");

// Get the Playlist object from the PlaylistArray object.
// The Playlist object has index number zero.
var pl = plarray.item(0);

// Make the retrieved playlist the current playlist.
WMP9.currentPlaylist = pl;

Sie möchten am häufigsten mit der aktuellen Wiedergabeliste arbeiten. Es ist zwar möglich, mehrere Wiedergabelistenobjekte zu verwenden, aber nur eines kann vom Player abgerufen werden. currentPlaylist-Eigenschaft zu einem bestimmten Zeitpunkt: die Eigenschaft, die Windows Medienwiedergabe zu diesem Zeitpunkt verarbeitet.

Wenn Windows Medienwiedergabe 7 oder höher eine Windows Media-Metadatei mit der Dateinamenerweiterung .asx wiedergibt, wird zuerst ein Playlist-Objekt erstellt. Als Nächstes füllt es das -Objekt mit den Informationen aus der ASX-Wiedergabeliste und macht das Wiedergabelistenobjekt dann zur aktuellen Wiedergabeliste. Dies bedeutet, dass Sie die Eigenschaften und Methoden verwenden können, die dem Playlist-Objekt zugeordnet sind, um ASX-Wiedergabelisten genau so zu bearbeiten, wie Sie Wiedergabelisten in der Bibliothek behandeln würden. Für instance verwenden Sie Player6, um die Anzahl der Einträge in einer ASX-Wiedergabeliste mit dem Objektmodell der Version 6.4 abzurufen.EntryCount-Eigenschaft:

var entrycount = WMP64.EntryCount;

Wenn Sie das objektmodell Windows Medienwiedergabe 7 oder höher verwenden, verwenden Sie die Wiedergabeliste.count-Eigenschaft:

var entrycount = WMP9.currentPlaylist.count;

Wenn Sie das Steuerelement der Version 6.4 verwenden, können Sie player6 verwenden. GetCurrentEntry-Methode zum Abrufen des Index des aktuellen Eintrags in einer ASX-Wiedergabeliste:

var entrynum = WMP64.GetCurrentEntry();

Sie können das gleiche Ergebnis erzielen, indem Sie das objektmodell Windows Medienwiedergabe 7 oder höher im Skript verwenden. Im folgenden JScript-Beispiel wird das aktuelle Medienobjekt mit den einzelnen Elementen in der Wiedergabeliste verglichen. Wenn Medien.isIdentical gibt true zurück, ein Meldungsfeld zeigt den Index des aktuellen Medienelements an.

function matchit(){
// Store the current playlist object in a variable.
var pl = WMP9.currentPlaylist;

// Loop through the playlist one entry at a time.
  for (var i = 0; i < pl.count; i++){

   // Test whether the current media item matches 
   // the item in the playlist at the current loop index.
   if (WMP9.currentmedia.isIdentical(pl.item(i))){

       // They match, display the index.
       var message = "Current media at index: " + i;
       alert(message);

       // Exit the function, don't continue looping!
       return;
      }
  }
}

Um den Index des aktuellen Eintrags in einer ASX-Wiedergabeliste anzugeben, verwenden Sie Player6. SetCurrentEntry. Wiedergabelisteneintragsindizes in Version 6.4 beginnen mit 1. Verwenden Sie daher die folgende Syntax, um den zweiten Eintrag in einer Metadatei-Wiedergabeliste zum aktuellen zu machen:

WMP6.SetCurrentEntry(2);

Wiedergabelisteneintragsindizes sind nullbasiert in Windows Medienwiedergabe 7 oder höher. Verwenden Sie bei Verwendung des Objektmodells Windows Medienwiedergabe 7 oder höher die folgende Syntax, um den zweiten Eintrag in einer Metafile-Wiedergabeliste zum aktuellen zu machen:

WMP9.controls.currentItem = WMP9.currentPlaylist.item(1);

Das folgende JScript-Beispiel veranschaulicht eine Funktion, die eine Indexnummer als Parameter akzeptiert und dann den Wiedergabelisteneintrag, der dem Index entspricht, zum aktuellen Medienelement macht:

function setindex(idx){
// Store the current playlist in a variable.
var pl = WMP9.currentPlaylist;

// Get the first playlist entry.
var firstmedia = pl.item(0);

// Start the Player to allow navigation within the playlist.
WMP9.controls.playItem(firstmedia);

// Test whether idx is within a valid range.
   if (idx < pl.count && idx >= 0){

     // Set the currentItem to the desired playlist item.
     WMP9.controls.currentItem = pl.item(idx);

     // Display the name of the media item.
     alert(WMP9.currentMedia.name);
     return true;
 }

// The index is out of range, stop the Player, alert the user.
WMP9.controls.stop();
alert("Index out of range");
return false;
}

Windows Media-Metadateien können benutzerdefinierte Parameterelemente enthalten, die Sie mithilfe des <PARAM-Tags> angeben. Wenn Sie das Objektmodell der Version 6.4 verwenden, können Sie den Namen eines bestimmten Parameters mit dem Player6 abrufen. GetMediaParameterName-Methode . Im folgenden JScript-Beispiel wird der Name des ersten Parameters im ersten Eintrag einer ASX-Wiedergabeliste abgerufen:

var paramname = WMP6.GetMediaParameterName(1,1);

Ebenso können Sie den dem Parameter zugeordneten Wert mit Player6 abrufen. GetMediaParameter:

var paramvalue = WMP6.GetMediaParameter(1, paramname);

Im folgenden JScript-Beispiel wird das objektmodell Windows Medienwiedergabe 7 oder höher verwendet, um den Parameternamen und -wert aus dem ersten Eintrag in einer ASX-Wiedergabeliste abzurufen:

function getattribute(){
// Store the first playlist entry as a Media object.
var firstmedia = WMP9.currentplaylist.item(0);

// Get the name of the first parameter in the object named firstmedia.
var attname = firstmedia.getAttributeName(0);

// Get the value of the first parameter in the object named firstmedia.
var attval = firstmedia.getItemInfo(attname);

// Display the information.
alert(attname + ": " + attval);
}

Sie können die PlaylistCollection verwenden. importPlaylist-Methode , um der Bibliothek eine ASX-Wiedergabeliste hinzuzufügen. Nach dem Import wird die Metadatei-Wiedergabeliste zu einer Bibliothekswiedergabeliste, sodass Sie sie mit allen verfügbaren Eigenschaften und Methoden bearbeiten können. Der Benutzer muss der Bibliothek vollzugriffsrechte gewähren, damit Ihre Anwendung die importPlaylist-Methode verwenden kann.

Sie können PlaylistCollection verwenden. getByName , um zu testen, ob eine Wiedergabeliste vorhanden ist. Diese Methode gibt immer ein gültiges PlaylistArray-Objekt zurück. Wenn das abgerufene Wiedergabelistenarray genau eine Wiedergabeliste enthält, ist eine Wiedergabeliste mit diesem Namen in der Bibliothek vorhanden. Andernfalls enthält das Wiedergabelistenarray kein Wiedergabelistenobjekt. Dies bedeutet, dass es keine Wiedergabeliste in der Bibliothek gibt, deren Name als Argument an die getByName-Methode übergeben wird. Im folgenden JScript-Beispiel wird dies veranschaulicht:

// Specify an .asx playlist file.
WMP9.URL = "https://www.microsoft.com/someplaylist.asx";

// Open the playlist and start playing the content.
WMP9.controls.play();

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

// Attempt to retrieve from the library 
// a playlist having the same name as the current playlist.
var plarray = WMP9.playlistCollection.getByName(pl.name);

// Test whether the PlaylistArray object, plarray, contains
// a Playlist object.
if (!plarray.count)
   
   // If plarray contains no playlist, then import 
   // the current one.
   WMP9.playlistCollection.importPlaylist(pl);
}

Verwalten von Wiedergabelisten

Leitfaden zur Objektmodellmigration

Wiedergabelistenobjekt