spacer

Webref WebRef   Sitemap · Experts · Tools · Services · Newsletters · About i.com

home / experts / javascript / column52


A Streaming Media JukeBox - Part II: Netscape

Developer News
Mandrake Linux Founder Back, Virtually
Amazon: We're a Technology Company
Sun Expands MySQL With Closed Source

The JukeBox Script

Our streaming media jukebox for the plugin version is very similar to our ActiveX control version from Column 51, A Streaming Media Jukebox. We first define an array of objects:

var streams = new Array();

We then define the object constructor as:

function makeStream(url, name) {
  this.url = url;
  this.name = name;
}

And finally, we populate the array with several ASX and ASF files:


streams[0] = new makeStream("http://msdn.microsoft.com/downloads/samples
  /Internet/imedia/netshow/smedia/NS3/JavaScript/Buttons/control.asx",
  "Microsoft Promo for Windows Media Player");
  // (The three lines above should be joined as one line.
  // They have been split for formatting purposes.)
streams[1] = new makeStream("http://www.advintsol.com/webmaster030399/
  webmaster.asx", "Microsoft Training for Windows Media Player");
  // (The two lines above should be joined as one line.
  // They have been split for formatting purposes.)
streams[2] = new makeStream("mms://netshow.microsoft.com/ms/sbnasfs/wmt
  /turtle28.asf", "The Turtle");
  // (The two lines above should be joined as one line.
  // They have been split for formatting purposes.)
streams[3] = new makeStream("mms://netshow.microsoft.com/ms/sbnasfs/wmt/
  wmt.asf", "Flying Windows Media Player logo");
  // (The two lines above should be joined as one line.
  // They have been split for formatting purposes.)

Once we know the number of elements in the array, we can dynamically write a pull-down list. The extra complexity in the Plugin version is that we need to explicitly select the desired entry to be displayed in the pull-down window. We first extract the URL parameter and then check with which entry we have a match:

function getSelectedEntry() {
  var query = location.search.substring(2, location.search.length-1);
  for (var i = 0; i < streams.length; i++) {
    if (streams[i].url == query) return i;
  }
  return 0;
}

And then we write the pull-down selection list:


document.writeln('<SELECT NAME="streams" onChange="change()">');
  var menuSelection = getSelectedEntry();
  for (var i = 0; i < streams.length; i++) {
    if (i == menuSelection) document.writeln('<OPTION VALUE="', streams[i].url,
      '" SELECTED>', streams[i].name)
  // (The two lines above should be joined as one line.
  // They have been split for formatting purposes.)
    else document.writeln('<OPTION VALUE="', streams[i].url, '">',
      streams[i].name)
  // (The two lines above should be joined as one line.
  // They have been split for formatting purposes.)
  }
  document.writeln('</SELECT>');

The jukebox event handler kicks in whenever there is a change in the selection:

function change() {
  var list = document.playerCtrl.streams;
  var streamURL = list.options[list.selectedIndex].value;
  menuSelection = list.selectedIndex;
  document.mediaPlayer.Stop();
  document.displayMode.playOrPause.value = " Pause ";
  location.href = "demo.html" + "?" + '"' + streamURL + '"';
}

We first extract the URL of the currently selected item. We then call the Media Player's Stop() method and then reload the page with the new selection as a parameter.

http://www.internet.com

Produced by Yehuda Shiran and Tomer Shiran

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Whitepapers and eBooks

Intel Whitepaper: Comparing Two- and Four-Socket Platforms for Server Virtualization
IBM Solutions Brief: Go Green With IBM System xTM And Intel
HP eBook: Simplifying SQL Server Management
IBM Contest: Are You the Next Superstar? Join the "Search for the XML Superstar" Contest to Find Out
Microsoft PDF: Top 10 Reasons to Move to Server Virtualization with Hyper-V
Microsoft PDF: Six Reasons Why Microsoft's Hyper-V Will Overtake Vmware
Microsoft Step-by-Step Guide: Hyper-V and Failover Clustering
Intel PDF: Quad-Core Impacts More Than the Data Center
Intel PDF: Virtualization Delivers Data Center Efficiency
Go Parallel Article: PDC 2008 in Review
Microsoft PDF: Top 11 Reasons to Upgrade to Windows Server 2008
Avaya Article: Communication-Enabled Mashups: Empowering Both Business Owners and IT
Intel Whitepaper: Building a Real-World Model to Assess Virtualization Platforms
  PDF: Intel Centrino Duo Processor Technology with Intel Core2 Duo Processor
Microsoft Article: Build and Run Virtual Machines with Hyper-V Server 2008
Go Parallel Article: Q&A with a TBB Junkie
IBM Whitepaper: Innovative Collaboration to Advance Your Business
Internet.com eBook: Real Life Rails
IBM eBook: The Pros and Cons of Outsourcing
Internet.com eBook: Best Practices for Developing a Web Site
IBM CXO Whitepaper: The 2008 Global CEO Study "The Enterprise of the Future"
Avaya Article: Call Control XML in Action - A CCXML Auto Attendant
IBM CXO Whitepaper: Unlocking the DNA of the Adaptable Workforce--The Global Human Capital Study 2008
Adobe Acrobat Connect Pro: Web Conferencing and eLearning Whitepapers
HP eBook: Guide to Storage Networking
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
webref The latest from WebReference.com Browse >
Popular JavaScript Framework Libraries: An Overview - Part 3 · Accessing Your MySQL Database from the Web with PHP · Working with the DOM Stylesheets Collection
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Crucial Triples Up With New Three-Channel DDR3 Kits · Meet the Finalists: Excellence in Technology Awards · Tealeaf Offers Insight to Mobile Customer Behavior


Created: November 9, 1999
Revised: November 23, 1999

URL: http://www.webreference.com/js/column52/jukebox.html