May 2, 2001 - Checking if Player is Ready | WebReference

May 2, 2001 - Checking if Player is Ready

Yehuda Shiran May 2, 2001
Checking if Player is Ready
Tips: May 2001

Yehuda Shiran, Ph.D.
Doc JavaScript

The FlashSound JavaScript API's isPlayerReady() method returns true if the browser recognizes the player associated with the JavaScript object, and the SWF has loaded at least one frame. This method returns false otherwise. FlashSound API executes this method before all other API method calls, so don't bother using it again. But you do have to use isPlayerReady() whenever you call a Flash method that is not part of FlashSound JavaScript API.

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

flashsound.js in the HEAD section. Download.
  • 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.

    Click the following link to play a Flash stream track that plays a tutorial on FlashSound. We put two alert statements. One that prints the value of isPlayerReady() before embedding the tutorial, and one that prints its value after embedding the tutorial SWF. Notice that the value of isPlayerReady() is false before embedding, and true after it:

    Play the Tutorial

    Here is the source code:

    <HTML>
    <HEAD>
    <SCRIPT SRC="flashsound.js"></SCRIPT>
    <SCRIPT>
      var mySoundObj = new FlashSound();
    </SCRIPT>
    </HEAD>
    <BODY>
    <P><A HREF="javascript://" 
      onmouseover="mySoundObj.TGotoAndPlay('/',1)">Rewind and Play the Tutorial</A>   
      <A HREF="javascript://" 
      onmouseover="mySoundObj.TStopPlay('/')">Pause</A>   
      <A HREF="javascript://" 
      onmouseover="mySoundObj.TPlay('/')">Continue</A>   
      <A HREF="javascript://" 
      onmouseover="alert(mySoundObj.IsPlaying('/'))">Is Playing?</A></P>
    <SCRIPT>
      alert("Before Embedding, isPlayerReady() returns " +  
        mySoundObj.isPlayerReady());
      mySoundObj.autostart = false;
      mySoundObj.embedSWF("earsonly.swf");
      alert("After Embedding, isPlayerReady() returns " + 
        mySoundObj.isPlayerReady());
    </SCRIPT>
    </BODY>
    </HTML>

    Notice we assign autostart to false. The reason is that the stream example here was set to autostart upon embedding. We can override the Flash behavior with JavaScript commands.

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

    Download flashsound.js

    Download earsonly.swf

    Download scale.swf