Updated MIDI embedding method on DVD pages.

I’ve updated the method I’m using to embed MIDI files in my DVD pages that had them. A couple of example pages are The Best of Benny Hill and Star Wars I: The Phantom Menace. I am using the JavaScript method that is described at MIDKar.com. It’s basically the same thing I was doing before directly within the page’s code without JavaScript; however, this script now adjusts the code based upon the browser it detects which should make it more compatible.  I did modify their code slightly by adding an optional autostart parameter with a default value of 0 if no value is given so that it does not automatically start playing.  Here’s my modified code:

// This script determines correct code required to embed MEDIA files 
// for a large number of browsers, including AOL and WebTV
// Windows Media Player is required and always used, except for WebTV
// Written by Les Gorven, http://midkar.com/ 
// Ver. 4.0 (simple) auto-start parameter is true - Created: February 2, 2008
// autostart parameter added by Mark Headrick December 2, 2009

function playMedia(mediaURL,rpt,height,width,autostart) {
var mediaURL,rpt,height,width,autostart;

if (typeof autostart == "undefined") {
	autostart = 0;
}

if (GetBrowser() == "IE")
	playAll(mediaURL,rpt,height,width,autostart) ;  
else if (GetBrowser() == "unknown")
	embedSource(mediaURL,rpt,height,width,autostart) ;
else if (navigator.appName.substring(0,5) == "WebTV")
	embedSource(mediaURL,rpt,height,width,autostart) ;
else
	playAll(mediaURL,rpt,height,width,autostart) ;
}

function embedSource(mediaURL,rpt,height,width,autostart) {

	var CodeGen = "";
	var mediaURL,rpt,height,width,autostart;
 		 	
	CodeGen = '';
	document.write(CodeGen);
}

function playAll(mediaURL,rpt,height,width,autostart) {
	var CodeGen = ""; 

	CodeGen = '= 50) && (height <= 75) && (width >= 200)) 
		CodeGen = CodeGen + 'ShowStatusBar=1 '; 
	if ((height > 75) && (width >= 200)) 
		CodeGen = CodeGen + 'ShowStatusBar=0 '; 
	if ((height <= 49) && (width != 299))
		CodeGen += 'ShowStatusBar=0 '; 
	CodeGen += 'enableContextMenu=1 cache=0' + '\n' ;
	CodeGen += 'playCount=' + rpt + ' ' ;
	CodeGen += 'volume=-1 ' ;
	CodeGen += 'HEIGHT=' + height + ' WIDTH=' + width + '>' ;
	document.write(CodeGen);
}

function GetBrowser()
{
   var agt=navigator.userAgent.toLowerCase();
   if( ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1)) )
       return "IE";
   else if( ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
         && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
         && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)) )
       return "Netscape";
   else
       return "unknown";
}

Within the page itself, I just put the following where I want the player to appear:

	

If I want the song to automatically start playing, then I would change the code to:

	

Seems to work well in both Firefox 3.5.5 and Internet Explorer 8. :)