Sicherstellen, dass Windows Media Player den HTMLView-Inhalt öffnet
Derzeit sind Windows Media Player 9- und Windows Media Player 10-Serie die einzigen Player, die den HTMLView-Parameter in ASX-Dateien unterstützen. Dies bedeutet, dass Sie Maßnahmen ergreifen sollten, um sicherzustellen, dass Ihre HTMLView-Inhalte in diesen Versionen von Windows Media Player wiedergegeben werden.
Sie müssen zunächst bestimmen, ob Windows Media Player 9er- oder Windows Media Player 10-Serie auf dem Computer des Benutzers installiert ist. Das Windows Media Player SDK enthält ein umfassendes Beispiel, das veranschaulicht, wie verschiedene Versionen von Windows Media Player in verschiedenen Webbrowsern erkannt werden. Obwohl eine vollständige Analyse des Erkennungsbeispiels den Rahmen dieses Abschnitts sprengen würde, können Sie einige grundlegende Schritte ausführen, um zu bestimmen, welche Version von Windows Media Player der Computer des Benutzers ausgeführt wird.
In seiner einfachsten Form umfasst die Erkennung Windows Media Player das Einbetten des Player-Steuerelements in die Webseite, die mit Ihrem HTMLView-Inhalt verknüpft ist, und dann das Überprüfen des vom Player abgerufenen Werts. versionInfo-Eigenschaft. Nachdem Sie sich vergewissert haben, dass der Benutzer Windows Media Player 9 Serie oder Windows Media Player 10 installiert hat, können Sie die Player.openPlayer-Methode verwenden, um den Inhalt im Vollmodus-Player zu öffnen. Die openPlayer-Methode stellt sicher, dass Ihre Inhalte anfänglich im Feature Jetzt wiedergeben des Vollmodusplayers angezeigt werden, anstatt in einer Skin, im Miniplayermodus oder in einem anderen Player, der sich selbst als Standardprogramm für Dateien mit der Asx-Dateinamenerweiterung registriert hat, htmlView jedoch nicht unterstützt. Sobald der Inhalt angezeigt wird, hat der Benutzer jedoch die vollständige Kontrolle über Windows Media Player. Das bedeutet, dass er ein anderes Feature als Jetzt wiedergeben anzeigen, in den Skinmodus wechseln oder sogar den Player beenden kann.
Im folgenden Beispielcode wird eine Webseite für Internet Explorer erstellt. Auf dieser Seite wird eine ASX-Datei geöffnet, die eine HTMLView-Webseite angibt, die im Vollmodus-Player angezeigt wird, wenn Windows Media Player 9er Serie oder höher installiert ist.
<HTML>
<BODY>
<!-- This code embeds the Player object in invisible mode. -->
<OBJECT id = "Player"
CLASSID = "CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" height = 0 width = 0>
<PARAM Name = "AutoStart" Value = "True">
<PARAM Name = "uiMode" Value = "invisible">
</OBJECT>
<!-- Create a button to open the content. -->
<INPUT Type = "Button" ID = "btnPlay" Value = "Play ASX" onClick = "PlayASX();"/>
<SCRIPT Language = "JScript">
// This function tests the Player version. If it is Windows Media
// Player 9 Series or later, the script opens the .asx file in the full-mode
// Player. Otherwise, the script makes the embedded control visible to
// the user and opens the .asx file in the webpage.
function PlayASX()
{
if(parseInt(Player.versionInfo) >= 9)
{
// Open the full-mode Player to show HTMLView.
Player.openPlayer("https://www.proseware.com/MyHTMLView.asx");
}
else
{
// Open the .asx file in the embedded Player.
Player.uiMode = "full";
Player.height = 200;
Player.width = 200;
Player.URL = "https://www.proseware.com/MyHTMLView.asx";
}
}
</SCRIPT>
</BODY>
</HTML>
Der Code im vorherigen Beispiel bettet das Windows Media Player-Steuerelement ein, wobei die uiMode-Eigenschaft auf "unsichtbar" und die Player-Attribute für Höhe und Breite auf 0 (null) festgelegt sind. Dies liegt daran, dass die Webseite nicht erfordert, dass die Benutzeroberfläche des Player-Steuerelements anfänglich angezeigt wird, sondern nur Zugriff auf das Player-Objektmodell. Auf der Seite wird auch eine Eingabeschaltfläche angezeigt, mit der der Benutzer die ASX-Datei wiedergeben kann.
Wenn der Benutzer auf die Schaltfläche ASX wiedergeben klickt, wird die Microsoft JScript-Funktion PlayASX ausgeführt. Diese Funktion ruft zuerst den Wert für die Player versionInfo-Eigenschaft ab und verwendet dabei die JScript parseInt-Methode, um den numerischen Wert der abgerufenen Zeichenfolge zu überprüfen. Wenn der numerische Wert größer oder gleich 9 ist (d. h., der Benutzer hat Windows Media Player 9 Serie installiert), ruft der Skriptcode die openPlayer-Methode auf und übergibt die URL der ASX-Datei, die den HTMLView-Parameter enthält. Diese Methode öffnet die ASX-Datei mit Windows Media Player im Vollmodus, gibt den Inhalt der digitalen Medien in der ASX-Wiedergabeliste wieder und zeigt den webbasierten HTMLView-Inhalt im Feature Jetzt wiedergeben an.
Wenn der numerische Wert der Versionszeichenfolge nicht größer oder gleich 9 ist (d. h., der Benutzer hat Windows Media Player 9 Serie oder höher nicht auf seinem Computer installiert), ändert der Skriptcode den uiMode des Player-Steuerelements in "full", legt eine neue Breite und Höhe für das Steuerelement fest und öffnet dann die ASX-Datei im eingebetteten Player, indem er einen Wert für die URL-Eigenschaft angibt. In diesem Fall wird der Inhalt der digitalen Medien auf der Webseite wiedergegeben, aber alle htmlView-Werte, die in der ASX-Datei angegeben sind, werden ignoriert.
Wie Inhalte wiedergegeben werden, wenn der Benutzer nicht Windows Media Player 9er Serie oder Windows Media Player 10 installiert hat, liegt bei Ihnen. Im vorherigen Beispiel wird gezeigt, wie Sie angeben, dass der Inhalt auf der Webseite statt im Vollmodus-Player wiedergegeben wird, wobei htmlView-Inhalte im Prozess ignoriert werden. Es gibt andere Ansätze, die Sie nutzen können. Beispielsweise können Sie den Benutzer auffordern, eine neuere Version von Windows Media Player zu installieren, sodass diese Version des Players eine Anforderung für die Wiedergabe Ihrer digitalen Medieninhalte ist.