By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,480 Members | 1,766 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,480 IT Pros & Developers. It's quick & easy.

Background Sound in HTML / Javascript

P: n/a
Gil
I'm trying to write a page that allows me to change the background
midi that's playing.

I've been going crazy consulting Google Groups, and coming up with
ingenious solutions, some of which kind of work in some situations.
I'm quite prepared to implement a number of solutions simultaneously
and browser-distinguish to select the right one, but it's hard even to
find the criteria that decide what works in which browser.

I'd be grateful for any advice.

Solution 1 - which looks the cleanest. It works with some IEs -
5.00.2614.3500IS in particular

I put all the desired midis in the body of the page as EMBEDs, with
name properties, then when I want to change the tune, I call a
Javascript function,

function newsong(newname)
{
for (var ii=0; ii < document.embeds.length; ii++)
{
if (oldname == document.embeds[ii].name)
{
document.embeds[ii].stop();
break;
}
}

for (var ii=0; ii < document.embeds.length; ii++)
{
if (newname == document.embeds[ii].name)
{
document.embeds[ii].play();
break;
}
}
oldname = newname;
}

Example http://www.amazonsystems.co.uk/bridge/Page1.htm - The Save
button changes the tune in theory.

Solution 2 - Messy but straightforward - this works with Netscape 4.08
and with IE 5.00.2614.3500IS, but not 5.00.2614.3500

Again, I include and name all the EMBEDs (I have to have MASTERSOUND
for Netscape to work.)

function newsong(newname)
{
document.embedname1.stop();
document.embedname2.stop();
document.embedname3.stop();
....etc.
if (newname == embedname1) document.embedname1.play();
else if (newname == embedname2) document.embedname2.play();
else if (newname == embedname3) document.embedname3.play();
else if (newname == embedname4) document.embedname4.play();
....etc

Example http://www.amazonsystems.co.uk/bridge/Page2.htm - The Save
button changes the tune in theory.
Solution 3 - Messier still - have a separate tiny html page for each
midi, and call it up when required, without releasing the original
page. It seems easier to build a page that works everywhere if you
don't need to change the background sound.

I haven't implemented that, but it's ghastly.

Gil
Jul 20 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Gil
gi*@humbug.co.uk (Gil) wrote in message news:<8f**************************@posting.google. com>...
I'm trying to write a page that allows me to change the background
midi that's playing.

etc....

Oh, and I'm now working on Solution 4 that puts static BGSOUND / EMBED
for each song in a separate, otherwise empty HTML file, with the
intention of putting the tune in a tiny frame <spit>, and the other
stuff in the main frame, changing the contents of the tiny frame,
rather than trying to change the tune in the main frame.... wish me
luck. I've never been reduced to using frames before.

Gil
Jul 20 '05 #2

P: n/a
On 27 Nov 2003 07:41:36 -0800, gi*@humbug.co.uk (Gil) wrote:
gi*@humbug.co.uk (Gil) wrote in message news:<8f**************************@posting.google. com>...
I'm trying to write a page that allows me to change the background
midi that's playing.

etc....

Oh, and I'm now working on Solution 4 that puts static BGSOUND / EMBED
for each song in a separate, otherwise empty HTML file, with the
intention of putting the tune in a tiny frame <spit>, and the other
stuff in the main frame, changing the contents of the tiny frame,
rather than trying to change the tune in the main frame.... wish me
luck. I've never been reduced to using frames before.

Gil

Surely it should be <spit/> or <spit></spit>!

Paul
Jul 20 '05 #3

P: n/a
Gil
Frames solution now up as
http://www.amazonsystems.co.uk/bridge/Page4.htm

Gil
Jul 20 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.