spacer

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

home / experts / javascript / column52


A Streaming Media JukeBox - Part II: Netscape

Developer News
News Flash: Adobe Has iPhone Workaround
Adobe's Flash 10.1 Goes Mobile (Minus iPhone)
A Salute to Visionary CEOs

The Media Player Plugin's Deficiencies

In the jukebox for Windows Media Player's ActiveX control version in Column 51, we relied on the fileName property to change the streaming media file. The Plugin version does not support any properties or any methods that allow setting of the streaming media feed. Therefore, we had to use a different technique for changing the streaming media in the jukebox. We reload the jukebox every time the user changes the jukebox' selection. We pass the media file name as a parameter to the jukebox and so the jukebox can rewrite the <EMBED> tag, assigning the new media file name to the SRC attribute.

Let's see now the different components of this rather tricky implementation. First, we need to reload the jukebox page with the file name parameter:

location.href = "demo.html" + "?" + '"' + streamURL + '"';

Basically we call back the page itself ("demo.html") with the new media stream (streamURL) following the "?" character. Notice that we delimit the streamURL parameter with a pair of double quotes. Netscape Navigator is not able to parse parameters of the form "http://www...." without using double quotes.

The getQuery() function reads the parameter from the URL specification:

function getQuery() {
  var query = location.search.substring(2, location.search.length-1);
  return query;
}

The parameter is extracted via the location.search parameter. Before we return the parameter, we omit its first character (?), its second character ("), and its last character ("). Once we know how to extract the URL parameter, we just need to write it in the <EMBED> tag:


if (getQuery() == "") document.writeln('src="http://msdn.microsoft.com
  /downloads/samples/Internet/imedia/netshow/smedia/NS3/JavaScript
  /Buttons/control.asx" ')
  // (The three lines above should be joined as one line.
  // They have been split for formatting purposes.)
  else document.writeln(' src=' + getQuery() );

The first time the user loads the jukebox, the URL parameter is empty (getQuery() == ""), hence we write out the default of the src attribute. In any other case, we'll have a non-blank parameter that we extract with the getQuery() function and assign it to the src attribute.

http://www.internet.com

Produced by Yehuda Shiran and Tomer Shiran

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

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

webref The latest from WebReference.com Browse >
Building a Banking Application Home Page with OOP · Mixing Scripting Languages · Review: phpFox, a Social Networking CMS with all the Bells and Whistles
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Enterprise 2.0: Social Networking in the Cloud · BroadSoft Marketplace Hastens Pace of Telephony Innovation · Review: HTC Hero for Sprint


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

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