spacer
Yehuda Shiran April 17, 2001
Stop Sync Flash
Tips: April 2001

Yehuda Shiran, Ph.D.
Doc JavaScript

Developer News
News Flash: Adobe Has iPhone Workaround
Adobe's Flash 10.1 Goes Mobile (Minus iPhone)
A Salute to Visionary CEOs

Flash has four different sync options: event, start, stop, and stream. You assign the type of the sound during editing the Flash sound track. In this tip we discuss the stop sync.

With stop sync, Flash stops all instances of the given frame. This is a limitation of Flash, but it stems from the absence of instance ID. With event sync, you re-trigger a new instance every time you mouse over the link. Invoking the stop sync command will stop all instances.

As a reminder, in order to sonify your page, follow this recipe:

  • Make sure you have the Flash player. 96% of the surfing population already has it. Download.
  • Include flashsound.js in the HEAD section.
  • Create a flashsound object in the HEAD section.
  • Embed your SWF file in the BODY section.
  • Create an anchor tag and set the onmouseover event handler to the TGotoAndPlay() method.

The following three links demonstrate event sync tracks. Mouse over the left one to listen to a scale sound. Mouse over it again and again to re-trigger as many instances as you want. Do the same for the middle link. Since it's a looping sound, you'll get an amplification of the sound as you mouse more times over the link. Now use the right link to stop the sound:

Play a Scale    Start a Looping Sound    Stop a Looping Sound

Notice that the stop sync can stop only the middle link, because they are from the same frame, "/loop-event". Try stopping the left sound. It does not work because the labels are different.

Here is the source code:

<HTML>
<HEAD>
<SCRIPT SRC="flashsound.js"></SCRIPT>
<SCRIPT>
  var mySoundObj1 = new FlashSound();
  var mySoundObj2 = new FlashSound();
</SCRIPT>
</HEAD>
<BODY>
<A HREF="javascript://" onmouseover="mySoundObj1.TGotoAndPlay('/scale-event','start')">Play a Scale</A>
<A HREF="javascript://" onmouseover="mySoundObj2.TGotoAndPlay('/loop-event','start')">Start a Looping Sound</A>
<A HREF="javascript://" onmouseover="mySoundObj2.TGotoAndPlay('/loop-event','stop')">Stop a Looping Sound</A> 
<SCRIPT>
  mySoundObj1.embedSWF("scale.swf");
  mySoundObj2.embedSWF("loop.swf");
</SCRIPT>
</BODY>
</HTML>

Here are links you can use to download flashsound.js, loop.swf, and scale.swf:

Download flashsound.js

Download loop.swf

Download scale.swf


People who read this tip also read these tips:

Look for similar tips by subject:

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs

webref The latest from WebReference.com Browse >
Building a Banking Application Home Page with OOP · Mixing Scripting Languages · Review: phpFox, a Social Networking CMS with all the Bells and Whistles
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Enterprise 2.0: Social Networking in the Cloud · BroadSoft Marketplace Hastens Pace of Telephony Innovation · Review: HTC Hero for Sprint