API Documentation for: 0.6.0
Show:

FlashAudioPlugin Class

Extends AbstractPlugin
Defined in: FlashAudioPlugin:47
Module: SoundJS

Play sounds using a Flash instance. This plugin is not used by default, and must be registered manually in Sound using the registerPlugins method. This plugin is recommended to be included if sound support is required in older browsers such as IE8.

This plugin requires FlashAudioPlugin.swf and swfObject.js, which is compiled into the minified FlashAudioPlugin-X.X.X.min.js file. You must ensure that swfPath is set when using this plugin, so that the script can find the swf.

Example

 createjs.FlashAudioPlugin.swfPath = "../src/soundjs/flashaudio";
 createjs.Sound.registerPlugins([createjs.WebAudioPlugin, createjs.HTMLAudioPlugin, createjs.FlashAudioPlugin]);
 // Adds FlashAudioPlugin as a fallback if WebAudio and HTMLAudio do not work.

Note that the SWF is embedded into a container DIV (with an id and classname of "SoundJSFlashContainer"), and will have an id of "flashAudioContainer". The container DIV is positioned 1 pixel off-screen to the left to avoid showing the 1x1 pixel white square.

Known Browser and OS issues for Flash Audio

All browsers

  • There can be a delay in flash player starting playback of audio. This has been most noticeable in Firefox. Unfortunely this is an issue with the flash player and the browser and therefore cannot be addressed by SoundJS.

Constructor

FlashAudioPlugin

()

Defined in FlashAudioPlugin:47

Methods

_generateCapabilities

() protected static

Determine the capabilities of the plugin. Used internally. Please see the Sound API getCapabilities method for an overview of plugin capabilities.

_handleFlashReady

() protected

The Flash application that handles preloading and playback is ready. We wait for a callback from Flash to ensure that everything is in place before playback begins.

_handlePreloadComplete

() protected

Handles internal preload completion.

_handlePreloadError

(
  • event
)
protected

Handles internal preload erros

Parameters:

_handleSWFReady

(
  • event
)
protected

Defined in _handleSWFReady:327

The SWF used for sound preloading and playback has been initialized.

Parameters:

  • event Object

    Contains a reference to the swf.

_updateVolume

() Boolean protected

Inherited from AbstractPlugin but overwritten in _updateVolume:357

Available since 0.4.0

Internal function used to set the gain value for master audio. Should not be called externally.

Returns:

create

(
  • src
  • startTime
  • duration
)
AbstractSoundInstance

Inherited from AbstractPlugin: create:219

Create a sound instance. If the sound has not been preloaded, it is internally preloaded here.

Parameters:

  • src String

    The sound source to use.

  • startTime Number

    Audio sprite property used to apply an offset, in milliseconds.

  • duration Number

    Audio sprite property used to set the time the clip plays for, in milliseconds.

Returns:

AbstractSoundInstance:

A sound instance for playback and control.

getVolume

()

Inherited from AbstractPlugin: getVolume:252

Get the master volume of the plugin, which affects all SoundInstances.

Returns:

The volume level, between 0 and 1.

initialize

() deprecated protected

Inherited from AbstractPlugin: initialize:99

REMOVED. Removed in favor of using MySuperClass_constructor. See extend and promote for details.

There is an inheritance tutorial distributed with EaselJS in /tutorials/Inheritance.

isPreloadComplete

(
  • src
)
Boolean

Checks if preloading has finished for a specific source.

Parameters:

  • src String

    The sound URI to load.

Returns:

isPreloadStarted

(
  • src
)
Boolean

Checks if preloading has started for a specific source. If the source is found, we can assume it is loading, or has already finished loading.

Parameters:

  • src String

    The sound URI to check.

Returns:

isSupported

() Boolean static

Defined in isSupported:245

Determine if the plugin can be used in the current browser/OS.

Returns:

Boolean:

If the plugin can be initialized.

preload

(
  • loader
)

Inherited from AbstractPlugin: preload:160

Internally preload a sound.

Parameters:

  • loader Loader

    The sound URI to load.

register

(
  • loadItem
  • instances
)
Object

Inherited from AbstractPlugin: register:138

Pre-register a sound for preloading and setup. This is called by Sound. Note all plugins provide a Loader instance, which PreloadJS can use to assist with preloading.

Parameters:

  • loadItem String

    An Object containing the source of the audio

  • instances Number

    The number of concurrently playing instances to allow for the channel at any time. Note that not every plugin will manage this value.

Returns:

Object:

A result object, containing a "tag" for preloading purposes.

removeAllSounds

(
  • src
)

Remove all sounds added using WebAudioPlugin/register. Note this does not cancel a preload.

Parameters:

  • src String

    The sound URI to unload.

removeSound

(
  • src
)

Remove a sound added using WebAudioPlugin/register. Note this does not cancel a preload.

Parameters:

  • src String

    The sound URI to unload.

setMute

(
  • value
)
Boolean

Inherited from AbstractPlugin: setMute:261

Mute all sounds via the plugin.

Parameters:

  • value Boolean

    If all sound should be muted or not. Note that plugin-level muting just looks up the mute value of Sound getMute, so this property is not used here.

Returns:

Boolean:

If the mute call succeeds.

setVolume

(
  • value
)
Boolean

Inherited from AbstractPlugin: setVolume:239

Set the master volume of the plugin, which affects all SoundInstances.

Parameters:

  • value Number

    The volume to set, between 0 and 1.

Returns:

Boolean:

If the plugin processes the setVolume call (true). The Sound class will affect all the instances manually otherwise.

Properties

_audioSources

Object protected

Object hash indexed by the source URI of each file to indicate if an audio source has begun loading, is currently loading, or has completed loading. Can be used to store non boolean data after loading is complete (for example arrayBuffers for web audio).

_capabilities

Object protected static

Defined in _capabilities:221

The capabilities of the plugin. This is generated via the _generateCapabilities method. Please see the Sound getCapabilities method for a list of available capabilities.

_container

HTMLDivElement protected

Defined in _container:112

A reference to the DIV container that gets created to hold the Flash instance.

_CONTAINER_ID

String protected

Defined in _CONTAINER_ID:93

The id name of the DIV that gets created for Flash content.

Default: flashAudioContainer

_flashInstances

Object protected

Defined in _flashInstances:137

A hash of SoundInstances indexed by the related ID in Flash. This lookup is required to connect sounds in JavaScript to their respective instances in Flash.

_flashPreloadInstances

Object protected

A hash of Sound Preload instances indexed by the related ID in Flash. This lookup is required to connect a preloading sound in Flash with its respective instance in JavaScript.

_queuedInstances

Object protected

An array of Sound Preload instances that are waiting to preload. Once Flash is initialized, the queued instances are preloaded.

_REG_FLASHID

String protected static

Defined in _REG_FLASHID:201

Event constant for the "registerFlashID" event for cleaner code.

Default: registerflashid

_UNREG_FLASHID

String protected static

Defined in _UNREG_FLASHID:211

Event constant for the "unregisterFlashID" event for cleaner code.

Default: unregisterflashid

_WRAPPER_ID

String protected

Defined in _WRAPPER_ID:102

Available since 0.4.1

The id name of the DIV wrapper that contains the Flash content.

Default: SoundJSFlashContainer

flash

Object | Embed protected

Defined in flash:120

A reference to the Flash instance that gets created.

flashReady

Boolean

Defined in flashReady:128

Determines if the Flash object has been created and initialized. This is required to make ExternalInterface calls from JavaScript to Flash.

Default: false

showOutput

Boolean

Defined in showOutput:80

A developer flag to output all flash events to the console (if it exists). Used for debugging.

 createjs.Sound.activePlugin.showOutput = true;

Default: false

swfPath

String static

Defined in swfPath:232

Available since 0.5.2

The path relative to the HTML page that the FlashAudioPlugin.swf resides. Note if this is not correct, this plugin will not work.

Default: src/SoundJS