Tech or Treat! Write an article about your scariest tech disaster to win gadgets!Learn more

x
?
Solved

Controlling sound volume for multiple sound objects across multiple scenes.

Posted on 2006-06-12
16
Medium Priority
?
228 Views
Last Modified: 2010-04-03
I have a client with a project that has a dozen scenes or so. I normally avoid working with scenes, so I'm not sure how to address this problem.

The issue is that he is controlling multiple sound object independently- Meaning, that he has each sound object associated with a movie clip on the scene so he can have different volume level controls for each sound.

e.g.:

sound1 = new Sound(Sound1MC);
sound1.attachSound("Sound1.aif");

The problem is that when he moves to a different scene, he no longer has access to the movies that were associated with the sound object, and he loses control of the audio.

Is there a way to control multiple sound objects across scenes in this manner?  For example, if I assigned the sounds like:

_root.createEmptyMovieClip('sound_mc', _root.getNextHighestDepth());
_root.soundObject = new Sound(_root.sound_mc);

Would this solve the problem?  Or how?
0
Comment
Question by:Aspirin99
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 4
  • 2
16 Comments
 
LVL 7

Expert Comment

by:Ramy_atef
ID: 16886515
Hi
There is no need to associate the sound object with any movie clip
simply in the 1st frame or so , create your sound objects

sound1=new Sound()
sound1.attachSound("Sound1_id")

// please note that attachSound gets sound id , meaning that the sound file is already in the library, but if you want to load it , then you use  .loadSound("sound_file.mp3")

after you create all your sound object , you can control it anywhere (but you have to call its path right)
to avoid mistakes you can
_root.sound1.setVolume(50)

Regasrds,
Ramy
0
 
LVL 1

Author Comment

by:Aspirin99
ID: 16886630
I think you're not aware that if you do it that way, you cannot controll the volume of one sound independent from another sound. That's why you have to associate it with its own movie - like an empty movie.
0
 
LVL 7

Accepted Solution

by:
Ramy_atef earned 1000 total points
ID: 16886845
Sorry, i got mixed up

_root.createEmptyMovieClip('sound_mc1', _root.getNextHighestDepth());
_root.sound1 = new Sound(_root.sound_mc1);
_root.sound1.attachSound("a");
_root.sound1.start(0, 5);
//
_root.createEmptyMovieClip('sound_mc2', _root.getNextHighestDepth());
_root.sound2 = new Sound(_root.sound_mc2);
_root.sound2.attachSound("b");
_root.sound2.start(0, 5);
//

and so on..
that should do it

Regards,
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
LVL 1

Author Comment

by:Aspirin99
ID: 16887241
Ramy,

Did you test this or have any experience with it?  I just set up and test and can't get that to work.

Here's the FLA I tested with.

http://www.cowfly.com/test/misc/test.zip

Thanks.
0
 
LVL 1

Author Comment

by:Aspirin99
ID: 16887356
Actually, I think I got it to work, but I have to reassign the volume level on each scene.
0
 
LVL 7

Expert Comment

by:Ramy_atef
ID: 16887445
Hi

Acutally i tested it, and it workd fine with me ..
do u want me to test your file or it is working now ?

Regards,
Ramy
0
 
LVL 1

Author Comment

by:Aspirin99
ID: 16889246
I think we're done. Thanks for your help.
0
 
LVL 7

Expert Comment

by:Ramy_atef
ID: 16889261
welcome :)
0
 
LVL 39

Expert Comment

by:blue-genie
ID: 16892456
just a thought, assuming you did go with the movieclip option - you could store all the movies in a global array, and reference them accordingly at any point throughout the movie.
0
 
LVL 1

Author Comment

by:Aspirin99
ID: 16893647
Would the global array affect the problem of losing the association with the movie when I load a new scene? I would be happy to open a new question if this line of reasoning has value.  With the approach outlined using createEmptyMovieClip, I still have to reset the volume levels at the start of each scene, which seems to be due to losing contact with the movies associated with the sound object's original definition.
0
 
LVL 39

Assisted Solution

by:blue-genie
blue-genie earned 1000 total points
ID: 16894146
if you're losing association with your clips but they're referenced in a global array you can then access it through referencing the array, that's all i was thinking.
0
 
LVL 1

Author Comment

by:Aspirin99
ID: 16894316
Thanks, I see what you're saying.
0
 
LVL 1

Author Comment

by:Aspirin99
ID: 17918752
I don't care how you split it, as I pay a monthly fee for access. However, I have created a more complete solution here:

http://www.kennybellew.com/tutorial/multiple_scenes.htm

For those who might search for a similar solution.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

This is intended to introduce all collision detection principles in flash, their strengths, weaknesses and workarounds. The main method for Collision Detection in flash is using hitTestObject. But unless you'll be pushing rectangular shapes without …
I come across a lot of question about how to access things in the document class from a movieclip, or accessing something from a movieclip in the document class. It took me a while to figure this out but once I did it makes life so much easier. …
In this tutorial viewers will learn how to create a basic motion tween animation in Flash Open a new document in Flash: Draw/import an image: Press CTRL + F8 to convert it into a graphic symbol: Select a frame (how long you want the tween to last): …
The goal of the tutorial is to teach the user how to select the video input device. Make sure you have an input device that in connected and work and recognized by Adobe Flash Media Live Encoder and select it in the “video input” menu.
Suggested Courses

647 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