April 17, 2001 - Stop Sync Flash | WebReference

April 17, 2001 - Stop Sync Flash

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

Yehuda Shiran, Ph.D.
Doc JavaScript

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:

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