April 16, 2001 - Start Sync Sounds | WebReference

April 16, 2001 - Start Sync Sounds

Yehuda Shiran April 16, 2001
Start Sync Sounds
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 start sync.

With start sync, Flash can play only a single copy of the same sound at the same time. Start sync tracks cannot overlap each other. There are two ways to re-trigger a start sync track. You either let it play till its end and then start it again, or you can stop it with a stop label command.

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. Use the right link to stop the sound:

    Play a Scale    Start a Looping Sound    Stop a Looping Sound

    The following three links are of the start sync type. You can play each instance only once. To re-trigger an instance, you need to wait until its end, or you can stop it with the right link:

    Play a Scale    Start a Looping Sound    Stop a Looping Sound

    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> 
    <A HREF="javascript://" onmouseover="mySoundObj1.TGotoAndPlay('/scale-start','start')">Play a Scale</A>
    <A HREF="javascript://" onmouseover="mySoundObj2.TGotoAndPlay('/loop-start','start')">Start a Looping Sound</A>
    <A HREF="javascript://" onmouseover="mySoundObj2.TGotoAndPlay('/loop-start','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