Satchel
Satchel

Reputation: 16724

How do I create a "sound on/ sound off" button?

I've seen many web pages with a simple sound on /sound off button which plays music or some mp3 file when you press sound on and turns it off when you press off.

How do I do that?

Hi, I wasn't planning on using Flash -- if there is a standard plugin I could use and then make modification to the script, that'd be cool.

I'm open to whatever is the "standard" way to do it.

Upvotes: 3

Views: 4084

Answers (5)

LabLogic
LabLogic

Reputation: 189

You can try embed my Javascript SoundPlayer and see if that works out for you. Its easy to use, just copy the code below into your webpage.

<script language="javascript" type="text/javascript" src="http://lablogic.net/scripts/soundplayer/audio_o.js"></script>

<a href="#" onclick='play("your-sound-file.mp3")'>PLAY</a>
<a href="#" onclick='stop("your-sound-file.mp3")'>STOP</a>

just change "your-sound-file.mp3" to the url or location of your sound file. It should work in most browser and most sound format. If it doesnt work I would really like to get feedback, so I can improve it even more. You can try out the script here to see if it works first: free javascript sound player

Upvotes: 1

Satchel
Satchel

Reputation: 16724

I used google and then I used pixel1 standalone

Upvotes: 1

fenomas
fenomas

Reputation: 11139

Here's the proper way to do it in AS3.

Initialization:

var sound:Sound;
var channel:SoundChannel;
var pos:Number;
var numLoops:Number = 0; // 0 to loop forever

sound = new Sound();
sound.load( new URLRequest("song.mp3") );
channel = sound.play( 0, numLoops );

Stop playback:

pos = channel.position;
channel.stop();

Start playback:

channel = sound.play( pos, numLoops );

It's true that you could toggle the volume to zero and back, but this leaves needless overhead, and when you restart the sound it will have advanced from where you "stopped" it.

Upvotes: 1

typeoneerror
typeoneerror

Reputation: 56948

Assuming you are using Flash as above.

AS2

stopAllSounds();

AS3

var xf:SoundTransform = SoundMixer.soundTransform;
xf.volume = 0;
SoundMixer.soundTransform = xf;

Upvotes: 0

miccet
miccet

Reputation: 1900

Are you using Flash? In that case you can do it like this:

stopAllSounds();

or

theSound.stop(["id"]);

Upvotes: 0

Related Questions