Solved

Stopping sound when frame is exited

Posted on 2009-05-12
11
378 Views
Last Modified: 2013-11-12
Hi,
I have a problem. I dragged this movieclip to my stage which resides in a movieclip that is called tino the main timeline. The .mp3 player works fine but when I navigate away from the page the sound is still playing. How do I turn this sound off when the frame is left by the user? I know I probably have to use the Sound.close(); but I have no clue how to implement this. I have tried many many ways to get this to work.

Thanks,
Tammy
// Create the Sound objects and URLRequest that will hold the audio files
var music:Sound = new Sound(new URLRequest ("audio/saveyourbreath.mp3"));
 
// Create the Sound Channel variable
var sc:SoundChannel;
 
// Variable to stop initial playing of song when user loads page
var isPlaying:Boolean = false;
 
// Create function for Stop button
function stopMusic(e:Event):void {
	sc.stop();
	isPlaying = false;
}
 
// Create function for Play Button
function playMusic(e:Event):void
{
	if (!isPlaying)
	{
		sc = music.play();
		isPlaying = true;
	}
}
 
// assign button functions to the buttons Play & stop buttons
playbtn.addEventListener(MouseEvent.CLICK, playMusic);
stopbtn.addEventListener(MouseEvent.CLICK, stopMusic);
 
// Volume Slider
// Set Dragging variable of slider to False
var dragging:Boolean = false;
 
// x and y coordinates of slider and 
// the width of the line to be ale to slide along and the height set to 0
var rectangle:Rectangle = new Rectangle(0,0,100,0);
 
// Add event listener to volume slider buttons
volume_mc.slider_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragIt);
stage.addEventListener(MouseEvent.MOUSE_UP, dropIt);
 
// Set functions of the slider
function dragIt(e:Event):void {
	volume_mc.slider_mc.startDrag(false,rectangle);
	dragging = true;
	
	// event listener to adjust volume
	volume_mc.slider_mc.addEventListener(Event.ENTER_FRAME, adjustVolume);
}
function dropIt(e:Event):void {
	if(dragging)
	{
		volume_mc.slider_mc.stopDrag();
		dragging = false;
	}
}
 
// function to adjust the volume of the audio clip
function adjustVolume(e:Event):void {
	// find coordinates of volume_mc and divide by 100 to adjust volume
	var vol:Number = volume_mc.slider_mc.x/100;
	var st:SoundTransform = new SoundTransform(vol);
	if (sc != null)
	{
		sc.soundTransform = st;
	}
}

Open in new window

0
Comment
Question by:ladyrider12
  • 7
  • 4
11 Comments
 
LVL 11

Expert Comment

by:Eaddy Barnes
ID: 24370478
hello.

could you tell me how the user leaves the frame in question.

1  does he have to press a button to leave the frame.
2  is the user made to leave after a loading process is completed


GE
0
 

Author Comment

by:ladyrider12
ID: 24370507
The user leaves the frame by clicking navigation buttons whichare also movie clips.
0
 
LVL 11

Expert Comment

by:Eaddy Barnes
ID: 24370620
did you try attaching the stop sound script to the onClick function of the button?

GE
0
VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

 

Author Comment

by:ladyrider12
ID: 24370641
I'm sorry. I am learning actionscript and I am not sure what you mean. I have tried numerous things. What would you do with the code snippet I gave in the thread? Wouldn't that stop the sound when you click the on button or am I understanding you wrong?
0
 
LVL 11

Expert Comment

by:Eaddy Barnes
ID: 24370777
what i mean is..

which one is the script belong to the button you would use to navigate away from the frame

GE
0
 

Author Comment

by:ladyrider12
ID: 24370875
Actually there are numerous buttons that are in movieclips themselves. If you send me your email address I can send you the file. It is not uploading to here even though I have .zip it.
0
 

Author Comment

by:ladyrider12
ID: 24371195
Uploaded my file to one of my websites.

http://www.discounthorsetack.net/TamaraThoel_final2.fla
0
 
LVL 11

Assisted Solution

by:Eaddy Barnes
Eaddy Barnes earned 50 total points
ID: 24371198
speraspearpro@yahoo.com
0
 

Author Comment

by:ladyrider12
ID: 24375303
I figured it out. I put a stop(); at the beginning of each page or frame and this got the sound to stop.
Thanks for you help.
0
 

Accepted Solution

by:
ladyrider12 earned 0 total points
ID: 24375313
My instrustor may not be happy with this simple work around but I really don't care after 2 days of working on it. LOL
0
 

Author Comment

by:ladyrider12
ID: 24375389
Even though I figured it out. This moderator was very patient and tried to help me.
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Recently, I was asked to recommend a tracking system to be implemented on a clients website. As the entire site was built on flash, my first thought was to suggest custom built tracking system. However, our company at that point of time didn't h…
This guide will walk you through the essential considerations and tech stack for building scalable websites. Know how to grow your business the smart way!
The purpose of this video is to demonstrate how to set up an RSS Feed on a WordPress Website. This will be demonstrated using a Windows 8 PC. Feedburner will be used for this demonstration. Go to your WordPress login page. This will look like the…
The goal of the tutorial is to teach the user how to how to load their YouTube profile onto Flash Media Live Encoder.

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question