⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wmp.htm

📁 Windows CE 下的机顶盒应用实例
💻 HTM
字号:
<html>

<head>
<title>STB Media Player</title>

<!-- script for=oMediaPlayer event="OpenStateChange(lOldState, lNewState)">
	onopenstatechange(lOldState, lNewState);
</script -->

<script>

// HRESULT defines
var S_OK = 0;

// play states
var mpStopped     = 0;	// Playback is stopped. 
var mpPaused      = 1;	// Playback is paused. 
var mpPlaying     = 2;	// Stream is playing. 
var mpWaiting     = 3;	// Waiting for stream to begin. 
var mpScanForward = 4;	// Stream is scanning forward. 
var mpScanReverse = 5;	// Stream is scanning in reverse. 
var mpSkipForward = 6;	// Skipping to next. 
var mpSkipReverse = 7;	// Skipping to previous. 
var mpClosed      = 8;	// Stream is not open.

/*
// open states
var nsClosed     = 0;	// Content file is closed. 
var nsLoadingASX = 1;	// Loading an Advanced Stream Redirector (ASX) file. 
var nsLoadingNSC = 2;	// Loading an .nsc station file. 
var nsLocating   = 3;	// Locating the server. 
var nsConnecting = 4;	// Connecting to the server. 
var nsOpening    = 5;	// Opening or listening for the stream. 
var nsOpen       = 6;	// Content file is open.
*/

// key codes
var vkStop    = 0xb2;
var vkPlay    = 0xfa;
var vkPrev    = 0xb1;
var vkBScan   = 0x21;
var vkFScan   = 0x22;
var vkNext    = 0xb0;
var vkPause   = 0xb3;
var vkVolUp   = 0xaf;
var vkVolDown = 0xae;
var vkMute    = 0xad;
var vkLeft    = 0x25;
var vkUp      = 0x26;
var vkRight   = 0x27;
var vkDown    = 0x28;
var vkSelect  = 0x0d;
var vkMenu    = 0x12;
var vkWild    = 0x24;

/*
// OSD commands
var osdStop = 1;
var osdPlay = 2;
var osdNextTrack = 3;
var osdPrevTrack = 4;
var osdFF = 5;
var osdFREV = 6;
var osdPause = 7;
var osdMenu = 8;
var osdResume = 9;
var osdRewindTrack = 10;
*/

//var osd;
var dbg;


function dbgmsg(error, str)
{
	dbg.MessageOut("ERROR " + str + "!! (" + error.number + ": " + error.message + ")");
}

function bodyload()
{
	// set up debug messages
	try { dbg = window.external.DebugUtils; }
	catch (e)
	{
		dbg = new Object();
		dbg.MessageOut = new Function("str", "alert(str)");
	}

	// request full screen
	try { window.external.FullScreen = true; }
	catch (e) { dbgmsg(e, "setting FullScreen = true"); }

	try
	{
		var rck = window.external.RemoteControlKeys;
		rck.BeginRequest();
		rck.Stop = true;
		rck.Play = true;
		rck.Previous = true;
		rck.Next = true;
		rck.Forward = true;
		rck.Backward = true;
		rck.Pause = true;
		rck.VolumeUp = true;
		rck.VolumeDown = true;
		rck.Mute = true;
		rck.Menu = true;
		rck.Up = false;
		rck.Down = false;
		rck.Left = false;
		rck.Right = false;
		rck.Select = false;
		rck.EndRequest();
	}
	catch (e) { dbgmsg(e, "remapping keys"); }

	// give the body the focus so we can get key events
	document.body.focus();

	// set up media player
	oMediaPlayer.ShowControls = false;
	oMediaPlayer.ShowPositionControls = false;
	oMediaPlayer.ShowStatusBar = false;
	oMediaPlayer.ShowAudioControls = false;
	oMediaPlayer.ShowTracker = false;
	oMediaPlayer.DisplaySize = 0;	// 0 == mpDefaultSize
	oMediaPlayer.Volume = 0;		// 0 == full volume
	oMediaPlayer.AutoRewind = true;

/*
	// set up OSD
	oMediaPlayer.SendOpenStateChangeEvents = true;
	try
	{
		osd = window.external.OSD;
		osd.InitForMediaPlayer(oMediaPlayer);
	}
	catch (e) { dbgmsg(e, "initializing OSD"); }
*/

	// play passed in media file
	var path = location.hash.substr(1);
	if (path.length > 0)
	{
		oMediaPlayer.Open(location.hash.substr(1));
	}
}


function bodyunload()
{
	try { window.external.FullScreen = false; }
	catch (e) { dbgmsg(e, "setting FullScreen = false"); }

	try { window.external.RemoteControlKeys.ReleaseRequest(); }
	catch (e) { dbgmsg(e, "releasing key mappings"); }
}


/*
function onopenstatechange(lOldState, lNewState)
{
	if (nsOpen == lNewState)
	{
		try
		{
			osd.SignalOpenState(true);
			osd.ProvideFeedback(osdPlay, S_OK);
		}
		catch (e) { dbgmsg(e, "signaling new media source to OSD"); }
	}
	else if (nsClosed == lNewState)
	{
		try { osd.SignalOpenState(false); }
		catch (e) { dbgmsg(e, "signaling end of media source to OSD"); }
	}
}
*/


function keyup()
{
	var fCancelBubble = true;

	switch (event.keyCode)
	{
	case vkStop:
		oMediaPlayer.Stop();
//		osd.ProvideFeedback(osdStop, S_OK);
		if (oMediaPlayer.CanSeek)
		{
			oMediaPlayer.CurrentPosition = 0;
		}
		break;

	case vkPlay:
		oMediaPlayer.Play();
//		osd.ProvideFeedback(osdPlay, S_OK);
		break;

	case vkPrev:
		if (mpStopped == oMediaPlayer.PlayState)
		{
			window.history.back();
			break;
		}
		
		if (oMediaPlayer.CanSeekToMarkers
			&& oMediaPlayer.MarkerCount > 0
			&& oMediaPlayer.CurrentMarker - 1 > 0)
		{
			oMediaPlayer.CurrentMarker = oMediaPlayer.CurrentMarker - 1;
//			osd.ProvideFeedback(osdPrevTrack, S_OK);
		}
		break;

	case vkBScan:
		if (oMediaPlayer.CanScan && oMediaPlayer.AllowScan)
		{
			oMediaPlayer.FastReverse();
//			osd.ProvideFeedback(osdFREV, S_OK);
		}
		break;

	case vkFScan:
		if (oMediaPlayer.CanScan && oMediaPlayer.AllowScan)
		{
			oMediaPlayer.FastForward();
//			osd.ProvideFeedback(osdFF, S_OK);
		}
		break;

	case vkNext:
		if (oMediaPlayer.CanSeekToMarkers
			&& oMediaPlayer.MarkerCount > 0
			&& oMediaPlayer.CurrentMarker + 1 <= MediaPlayer.MarkerCount)
		{
			oMediaPlayer.CurrentMarker = oMediaPlayer.CurrentMarker + 1;
//			osd.ProvideFeedback(osdNextTrack, S_OK);
		}
		break;

	case vkPause:
		oMediaPlayer.Pause();
//		osd.ProvideFeedback(osdPause, S_OK);
		break;

	case vkVolUp:
		if (oMediaPlayer.Volume + 50 <= 0)
			oMediaPlayer.Volume = oMediaPlayer.Volume + 50;
		else
			oMediaPlayer.Volume = 0;
		break;

	case vkVolDown:
		if (oMediaPlayer.Volume - 50 >= -10000)
			oMediaPlayer.Volume = oMediaPlayer.Volume - 50;
		else
			oMediaPlayer.Volume = -10000;
		break;

	case vkMute:
		oMediaPlayer.Mute = !oMediaPlayer.Mute;
		break;

	case vkMenu:
		window.history.back();
		break;
		
	case vkLeft:
	case vkUp:
	case vkRight:
	case vkDown:
	case vkSelect:
	case vkWild:
	default:
		fCancelBubble  = false;
		break;
	}

	event.cancelBubble = fCancelBubble;
}

</script>
</head>

<body bgcolor=black onload=bodyload() onunload=bodyunload() onkeyup=keyup()>

<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id=oMediaPlayer height=100% width=100% onkeyup=keyup()>
Error: Media Player object did not load!!
</object>

</body>

</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -