2025-11-28 00:35:46 +09:00

211 lines
4.5 KiB
HTML

<!-- Copyright (c) Microsoft Corporation. All rights reserved. -->
<!-- Windows Media Player SDK Embedded Player Sample -->
<HTML>
<HEAD>
<TITLE>Embedded Player Control Sample</TITLE>
</HEAD>
<BODY onLoad = "Init();">
<H1>Embedding Windows Media Player</H1>
<H2>Includes custom error handling</H2>
<OBJECT id=Player classid=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6 height="200" width="200">
<PARAM NAME="autoStart" VALUE="true">
</OBJECT>
<BR><BR>
<INPUT type=button value="Play Audio" name=btnPlayAudio onclick=PlayAudio()>
<INPUT type=button value="Play Video" name=btnPlayVideo onclick=PlayVideo()>
<INPUT type=button value=" Pause " name=btnPause onclick=PauseMe()>
<INPUT type=button value="Stop" name=btnStop onclick=StopMe()>
<INPUT type=button value="Generate Error" name=btnMakeError onclick=MakeError()>
<BR><BR>
<DIV id=divName size=50>Media name: </DIV><BR><BR>
<DIV id=divState size=50>Playstate: </DIV><BR><BR>
<DIV id=divStatus size=50>Status: </DIV><BR><BR>
<SCRIPT language = "JScript">
var g_bPaused = false; // To track pause button state;
// Check for JScript errors.
onerror = ShowError;
// Display JScript errors.
function ShowError (msg,url,linenumber)
{
alert(msg + " at line " + linenumber);
}
// Initialized states.
function Init()
{
Player.uiMode = "none";
btnPause.disabled = true;
btnStop.disabled = true;
// Request Media Libary access rights, if none exists.
if( Player.settings.mediaAccessRights == "none" )
{
// Request access rights.
Player.settings.requestMediaAccessRights( "read" );
}
}
// Play a known audio file from Media Library.
function PlayAudio ()
{
var plRet;
plRet = Player.mediaCollection.getByName('laure');
if( plRet.count > 0 )
{
Player.currentPlaylist = plRet;
}
else
{
alert ("Media not found in Media Library.");
}
}
// Play a known video file from Media Library.
function PlayVideo ()
{
var plRet;
plRet = Player.mediaCollection.getByName('seattle');
if( plRet.count > 0 )
{
Player.currentPlaylist = plRet;
}
else
{
alert ("Media not found in Media Library.");
}
}
// Try to play a file that doesn't exist.
function MakeError ()
{
StopMe();
Player.URL = "z:\\123xyz###.wmv"; // This assumes you don't have a file by this name!
}
// Pause the Player.
function PauseMe ()
{
if( g_bPaused == true )
{
Player.controls.play();
g_bPaused = false;
btnPause.value = " Pause ";
}
else
{
Player.controls.pause();
g_bPaused = true;
btnPause.value = "Resume";
}
}
// Stop the Player.
function StopMe ()
{
Player.controls.stop();
}
</SCRIPT>
<SCRIPT LANGUAGE = "JScript" FOR = Player EVENT = PlayStateChange(NewState)>
// Test for the current state.
// If playing, display the name of the current media.
switch (NewState){
case 1:
divState.innerHTML = "Playstate: Stopped";
// Toggle the button states.
btnPause.disabled = true;
btnPause.value = " Pause ";
btnStop.disabled = true;
break;
case 2:
divState.innerHTML = "Playstate: Paused";
break;
case 3:
divState.innerHTML = "Playstate: Playing";
divName.innerHTML = "Media name: " + Player.currentMedia.name;
// Toggle the button states.
btnPause.disabled = false;
btnStop.disabled = false;
break;
case 6:
divState.innerHTML = "Playstate: Buffering";
break;
case 7:
divState.innerHTML = "Playstate: Waiting";
break;
case 8:
divState.innerHTML = "Playstate: Media Ended";
break;
case 9:
divState.innerHTML = "Playstate: Transitioning";
break;
case 10:
divState.innerHTML = "Playstate: Ready";
break;
// Other cases go here.
default:
divState.innerHTML = "Playstate: Other";
}
</SCRIPT>
<SCRIPT LANGUAGE = "JScript" FOR = Player EVENT = StatusChange()>
divStatus.innerHTML = "Status: " + Player.status;
</SCRIPT>
<SCRIPT LANGUAGE = "JScript" FOR = Player EVENT = Error()>
var strError = "";
// Store the number of errors in the queue.
var max = Player.error.errorCount
// Loop through the list of errors.
for (var i = 0; i < max; i++)
{
// Display the error description for each item.
strError += "Error: " + Player.error.item(i).errorDescription + "\n";
}
alert( strError ); // Display the error warning.
// Clear the error queue to prepare for the next group of errors.
Player.error.clearErrorQueue();
</SCRIPT>
</BODY>
</HTML>