Event dispatching situation with SoundManager.as

http://evolve.reintroducing.com/2008/07/15/news/as3-soundmanager/
http://drawlogic.com/2009/01/16/as3-soundmanager-class-for-flash-updated-for-tweener/

I am using the tweener version of the class above (second link) and am having trouble attaching events such as...

addEventListener(ProgressEvent.PROGRESS, updateProgress);      
addEventListener(Event.COMPLETE, onComplete);

.. in an effort to bolt in a preloader functionality and some others like firing an event when a MP3 is done playing.

I have tried using the base Flash classes, and ran into issues with having multiple sound files queued up and the inability to reuse the sound object for new urls etc etc.  So I opted for a soundmanager class such as this, but am not having nearly equal issues with this.

I have tried to extend that class above with internal events that triggered methods in the class, but ran into issues with manipulating or targeting the functions I have on the timeline.

I have tried to attach the events to the calls to this function, perhaps my syntax is bunk:

EFFECTS.addExternalSound(effectPath, "effect", 0).addEventListener(ProgressEvent.PROGRESS, updateProgress);

Gives me:

1061: Call to a possibly undefined method addEventListener through a reference with static type Boolean.
taftmanAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

taftmanAuthor Commented:
I may have solved my own issue, but I will post it for anyone else interested:

Adding this to the class, and the important listeners bolted directly to the snd objects as they are created privately:



                private function onComplete($name:String):void
		{
			dispatchEvent(new Event("loadComplete")); 
		}
		
		private function songEnded(e:Event):void{
			dispatchEvent(new Event("songEnded")); 
		}
 
//** And these listeners setup directly after my MP3 is loaded into the object:
 
	EFFECTS.addEventListener("loadComplete", onComplete);
	EFFECTS.addEventListener("songEnded", playPause);
 
//** Effectively fires the functions as specified from the class.  I learned something new today!

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Adobe Flash

From novice to tech pro — start learning today.