API Documentation | All Packages | All Classes | Index | Frames No Frames |
Class MP3LoaderVars

Package | com.greensock.loading.data
Class | public class MP3LoaderVars

Can be used instead of a generic Object to define the `vars` parameter of a MP3Loader's constructor.
There are 2 primary benefits of using a MP3LoaderVars instance to define your MP3Loader variables:

1. In most code editors, code hinting will be activated which helps remind you which special properties are available in MP3Loader
2. It enables strict data typing for improved debugging (ensuring, for example, that you don't define a Boolean value for `onComplete` where a Function is expected).

The down side, of course, is that the code is more verbose and the MP3LoaderVars class adds slightly more kb to your swf. USAGE:
Note that each method returns the MP3LoaderVars instance, so you can reduce the lines of code by method chaining (see example below).
Without MP3LoaderVars:
`new MP3Loader("audio.mp3", {name:"audio", estimatedBytes:11500, autoPlay:false, onComplete:completeHandler, onProgress:progressHandler})`
With MP3LoaderVars
`new MP3Loader("audio.mp3", new MP3LoaderVars().name("audio").estimatedBytes(11500).autoPlay(false).onComplete(completeHandler).onProgress(progressHandler))`
NOTES:

- To get the generic vars object that MP3LoaderVars builds internally, simply access its "vars" property. In fact, if you want maximum backwards compatibility, you can tack ".vars" onto the end of your chain like this:
  `new MP3Loader("audio.mp3", new MP3LoaderVars().name("mp3").estimatedBytes(11500).autoPlay(false).vars);`
- Using MP3LoaderVars is completely optional. If you prefer the shorter synatax with the generic Object, feel free to use it. The purpose of this class is simply to enable code hinting and to allow for strict data typing.

Copyright 2011, GreenSock. All rights reserved. This work is subject to the terms in http://www.greensock.com/terms_of_use.html or for corporate Club GreenSock members, the software agreement that was issued with the corporate membership.

Public Properties

| Property | Defined by
--- | --- | ---
|  | vars : Object [read-only] The generic Object populated by all of the method calls in the MP3LoaderVars instance. | MP3LoaderVars

Public Methods

| Method | Defined by
--- | --- | ---
|  | MP3LoaderVars(vars:Object = null) Constructor | MP3LoaderVars
|  | allowMalformedURL(value:Boolean):MP3LoaderVars Normally, the URL will be parsed and any variables in the query string (like "?name=test&state=il&gender=m") will be placed into a URLVariables object which is added to the URLRequest. | MP3LoaderVars
|  | alternateURL(value:String):MP3LoaderVars If you define an `alternateURL`, the loader will initially try to load from its original `url` and if it fails, it will automatically (and permanently) change the loader's `url` to the `alternateURL` and try again. | MP3LoaderVars
|  | autoDispose(value:Boolean):MP3LoaderVars When `autoDispose` is `true`, the loader will be disposed immediately after it completes (it calls the `dispose()` method internally after dispatching its `COMPLETE` event). | MP3LoaderVars
|  | autoPlay(value:Boolean):MP3LoaderVars By default the MP3 will begin playing immediately when enough of the file has buffered, but to prevent it from autoPlaying, set `autoPlay` to `false`. | MP3LoaderVars
|  | context(value:SoundLoaderContext):MP3LoaderVars To control things like the buffer time and whether or not a policy file is checked, define a `SoundLoaderContext` object. | MP3LoaderVars
|  | estimatedBytes(value:uint):MP3LoaderVars Initially, the loader's `bytesTotal` is set to the `estimatedBytes` value (or `LoaderMax.defaultEstimatedBytes` if one isn't defined). | MP3LoaderVars
|  | initThreshold(value:uint):MP3LoaderVars The minimum number of `bytesLoaded` to wait for before the `LoaderEvent.INIT` event is dispatched - the higher the number the more accurate the `duration` estimate will be when the INIT event is dispatched (the default value is 102400 which is 100k). | MP3LoaderVars
|  | name(value:String):MP3LoaderVars A name that is used to identify the loader instance. | MP3LoaderVars
|  | noCache(value:Boolean):MP3LoaderVars If `true`, a "gsCacheBusterID" parameter will be appended to the url with a random set of numbers to prevent caching (don't worry, this info is ignored when you `LoaderMax.getLoader()` or `LoaderMax.getContent()` by `url` or when you're running locally). | MP3LoaderVars
|  | onCancel(value:Function):MP3LoaderVars A handler function for `LoaderEvent.CANCEL` events which are dispatched when loading is aborted due to either a failure or because another loader was prioritized or `cancel()` was manually called. | MP3LoaderVars
|  | onComplete(value:Function):MP3LoaderVars A handler function for `LoaderEvent.COMPLETE` events which are dispatched when the loader has finished loading successfully. | MP3LoaderVars
|  | onError(value:Function):MP3LoaderVars A handler function for `LoaderEvent.ERROR` events which are dispatched whenever the loader experiences an error (typically an IO_ERROR or SECURITY_ERROR). | MP3LoaderVars
|  | onFail(value:Function):MP3LoaderVars A handler function for `LoaderEvent.FAIL` events which are dispatched whenever the loader fails and its `status` changes to `LoaderStatus.FAILED`. | MP3LoaderVars
|  | onHTTPStatus(value:Function):MP3LoaderVars A handler function for `LoaderEvent.HTTP_STATUS` events. | MP3LoaderVars
|  | onIOError(value:Function):MP3LoaderVars A handler function for `LoaderEvent.IO_ERROR` events which will also call the onError handler, so you can use that as more of a catch-all whereas `onIOError` is specifically for LoaderEvent.IO_ERROR events. | MP3LoaderVars
|  | onOpen(value:Function):MP3LoaderVars A handler function for `LoaderEvent.OPEN` events which are dispatched when the loader begins loading. | MP3LoaderVars
|  | onProgress(value:Function):MP3LoaderVars A handler function for `LoaderEvent.PROGRESS` events which are dispatched whenever the `bytesLoaded` changes. | MP3LoaderVars
|  | prop(property:String, value:*):MP3LoaderVars Adds a dynamic property to the vars object containing any value you want. | MP3LoaderVars
|  | repeat(value:int):MP3LoaderVars Number of times that the mp3 should repeat. | MP3LoaderVars
|  | requireWithRoot(value:DisplayObject):MP3LoaderVars LoaderMax supports subloading, where an object can be factored into a parent's loading progress. | MP3LoaderVars
|  | volume(value:Number):MP3LoaderVars A value between 0 and 1 indicating the volume at which the sound should play when the MP3Loader's controls are used to play the sound, like `playSound()` or when `autoPlay` is `true` (default volume is 1). | MP3LoaderVars

Property detail

vars | property

`vars:Object` [read-only]

The generic Object populated by all of the method calls in the MP3LoaderVars instance. This is the raw data that gets passed to the loader.

Implementation
`public function get vars():Object`
Constructor detail

MP3LoaderVars | () | constructor

`public function MP3LoaderVars(vars:Object = null)`

Constructor

Parameters

| `vars:Object` (default = `null`)`` — A generic Object containing properties that you'd like to add to this MP3LoaderVars instance.

Method detail

allowMalformedURL | () | method

`public function allowMalformedURL(value:Boolean):MP3LoaderVars`

Normally, the URL will be parsed and any variables in the query string (like "?name=test&state=il&gender=m") will be placed into a URLVariables object which is added to the URLRequest. This avoids a few bugs in Flash, but if you need to keep the entire URL intact (no parsing into URLVariables), set `allowMalformedURL:true`. For example, if your URL has duplicate variables in the query string like `http://www.greensock.com/?c=S&c=SE&c=SW`, it is technically considered a malformed URL and a URLVariables object can't properly contain all the duplicates, so in this case you'd want to set `allowMalformedURL` to `true`.

Parameters

| `value:Boolean`

Returns

| `MP3LoaderVars`

alternateURL | () | method |

`public function alternateURL(value:String):MP3LoaderVars`

If you define an `alternateURL`, the loader will initially try to load from its original `url` and if it fails, it will automatically (and permanently) change the loader's `url` to the `alternateURL` and try again. Think of it as a fallback or backup `url`. It is perfectly acceptable to use the same `alternateURL` for multiple loaders (maybe a default image for various ImageLoaders for example).

Parameters

| `value:String`

Returns

| `MP3LoaderVars`

autoDispose | () | method |

`public function autoDispose(value:Boolean):MP3LoaderVars`

When `autoDispose` is `true`, the loader will be disposed immediately after it completes (it calls the `dispose()` method internally after dispatching its `COMPLETE` event). This will remove any listeners that were defined in the vars object (like onComplete, onProgress, onError, onInit). Once a loader is disposed, it can no longer be found with `LoaderMax.getLoader()` or `LoaderMax.getContent()` - it is essentially destroyed but its content is not unloaded (you must call `unload()` or `dispose(true)` to unload its content). The default `autoDispose` value is `false`.

Parameters

| `value:Boolean`

Returns

| `MP3LoaderVars`

autoPlay | () | method |

`public function autoPlay(value:Boolean):MP3LoaderVars`

By default the MP3 will begin playing immediately when enough of the file has buffered, but to prevent it from autoPlaying, set `autoPlay` to `false`.

Parameters

| `value:Boolean`

Returns

| `MP3LoaderVars`

context | () | method |

`public function context(value:SoundLoaderContext):MP3LoaderVars`

To control things like the buffer time and whether or not a policy file is checked, define a `SoundLoaderContext` object. The default context is null. See Adobe's SoundLoaderContext documentation for details.

Parameters

| `value:SoundLoaderContext`

Returns

| `MP3LoaderVars`

estimatedBytes | () | method |

`public function estimatedBytes(value:uint):MP3LoaderVars`

Initially, the loader's `bytesTotal` is set to the `estimatedBytes` value (or `LoaderMax.defaultEstimatedBytes` if one isn't defined). Then, when the loader begins loading and it can accurately determine the bytesTotal, it will do so. Setting `estimatedBytes` is optional, but the more accurate the value, the more accurate your loaders' overall progress will be initially. If the loader is inserted into a LoaderMax instance (for queue management), its `auditSize` feature can attempt to automatically determine the `bytesTotal` at runtime (there is a slight performance penalty for this, however - see LoaderMax's documentation for details).

Parameters

| `value:uint`

Returns

| `MP3LoaderVars`

initThreshold | () | method |

`public function initThreshold(value:uint):MP3LoaderVars`

The minimum number of `bytesLoaded` to wait for before the `LoaderEvent.INIT` event is dispatched - the higher the number the more accurate the `duration` estimate will be when the INIT event is dispatched (the default value is 102400 which is 100k). The MP3's duration cannot be determined with 100% accuracy until it has completely loaded, but it is estimated with more and more accuracy as the file loads.

Parameters

| `value:uint`

Returns

| `MP3LoaderVars`

name | () | method |

`public function name(value:String):MP3LoaderVars`

A name that is used to identify the loader instance. This name can be fed to the `LoaderMax.getLoader()` or `LoaderMax.getContent()` methods or traced at any time. Each loader's name should be unique. If you don't define one, a unique name will be created automatically, like "loader21".

Parameters

| `value:String`

Returns

| `MP3LoaderVars`

noCache | () | method |

`public function noCache(value:Boolean):MP3LoaderVars`

If `true`, a "gsCacheBusterID" parameter will be appended to the url with a random set of numbers to prevent caching (don't worry, this info is ignored when you `LoaderMax.getLoader()` or `LoaderMax.getContent()` by `url` or when you're running locally).

Parameters

| `value:Boolean`

Returns

| `MP3LoaderVars`

onCancel | () | method |

`public function onCancel(value:Function):MP3LoaderVars`

A handler function for `LoaderEvent.CANCEL` events which are dispatched when loading is aborted due to either a failure or because another loader was prioritized or `cancel()` was manually called. Make sure your onCancel function accepts a single parameter of type `LoaderEvent` (`com.greensock.events.LoaderEvent`).

Parameters

| `value:Function`

Returns

| `MP3LoaderVars`

onComplete | () | method |

`public function onComplete(value:Function):MP3LoaderVars`

A handler function for `LoaderEvent.COMPLETE` events which are dispatched when the loader has finished loading successfully. Make sure your onComplete function accepts a single parameter of type `LoaderEvent` (`com.greensock.events.LoaderEvent`).

Parameters

| `value:Function`

Returns

| `MP3LoaderVars`

onError | () | method |

`public function onError(value:Function):MP3LoaderVars`

A handler function for `LoaderEvent.ERROR` events which are dispatched whenever the loader experiences an error (typically an IO_ERROR or SECURITY_ERROR). An error doesn't necessarily mean the loader failed, however - to listen for when a loader fails, use the `onFail` special property. Make sure your onError function accepts a single parameter of type `LoaderEvent` (`com.greensock.events.LoaderEvent`).

Parameters

| `value:Function`

Returns

| `MP3LoaderVars`

onFail | () | method |

`public function onFail(value:Function):MP3LoaderVars`

A handler function for `LoaderEvent.FAIL` events which are dispatched whenever the loader fails and its `status` changes to `LoaderStatus.FAILED`. Make sure your onFail function accepts a single parameter of type `LoaderEvent` (`com.greensock.events.LoaderEvent`).

Parameters

| `value:Function`

Returns

| `MP3LoaderVars`

onHTTPStatus | () | method |

`public function onHTTPStatus(value:Function):MP3LoaderVars`

A handler function for `LoaderEvent.HTTP_STATUS` events. Make sure your onHTTPStatus function accepts a single parameter of type `LoaderEvent` (`com.greensock.events.LoaderEvent`). You can determine the httpStatus code using the LoaderEvent's `target.httpStatus` (LoaderItems keep track of their `httpStatus` when possible, although certain environments prevent Flash from getting httpStatus information).

Parameters

| `value:Function`

Returns

| `MP3LoaderVars`

onIOError | () | method |

`public function onIOError(value:Function):MP3LoaderVars`

A handler function for `LoaderEvent.IO_ERROR` events which will also call the onError handler, so you can use that as more of a catch-all whereas `onIOError` is specifically for LoaderEvent.IO_ERROR events. Make sure your onIOError function accepts a single parameter of type `LoaderEvent` (`com.greensock.events.LoaderEvent`).

Parameters

| `value:Function`

Returns

| `MP3LoaderVars`

onOpen | () | method |

`public function onOpen(value:Function):MP3LoaderVars`

A handler function for `LoaderEvent.OPEN` events which are dispatched when the loader begins loading. Make sure your onOpen function accepts a single parameter of type `LoaderEvent` (`com.greensock.events.LoaderEvent`).

Parameters

| `value:Function`

Returns

| `MP3LoaderVars`

onProgress | () | method |

`public function onProgress(value:Function):MP3LoaderVars`

A handler function for `LoaderEvent.PROGRESS` events which are dispatched whenever the `bytesLoaded` changes. Make sure your onProgress function accepts a single parameter of type `LoaderEvent` (`com.greensock.events.LoaderEvent`). You can use the LoaderEvent's `target.progress` to get the loader's progress value or use its `target.bytesLoaded` and `target.bytesTotal`.

Parameters

| `value:Function`

Returns

| `MP3LoaderVars`

prop | () | method |

`public function prop(property:String, value:*):MP3LoaderVars`

Adds a dynamic property to the vars object containing any value you want. This can be useful in situations where you need to associate certain data with a particular loader. Just make sure that the property name is a valid variable name (starts with a letter or underscore, no special characters, etc.) and that it doesn't use a reserved property name like "name" or "onComplete", etc. For example, to set an "index" property to 5, do: `prop("index", 5);`

Parameters

| `property:String` — Property name
| `value:*` — Value

Returns

| `MP3LoaderVars`

repeat | () | method |

`public function repeat(value:int):MP3LoaderVars`

Number of times that the mp3 should repeat. To repeat indefinitely, use -1. Default is 0.

Parameters

| `value:int`

Returns

| `MP3LoaderVars`

requireWithRoot | () | method |

`public function requireWithRoot(value:DisplayObject):MP3LoaderVars`

LoaderMax supports subloading, where an object can be factored into a parent's loading progress. If you want LoaderMax to require this loader as part of its parent SWFLoader's progress, you must set the `requireWithRoot` property to your swf's `root`. For example, `vars.requireWithRoot = this.root;`.

Parameters

| `value:DisplayObject`

Returns

| `MP3LoaderVars`

volume | () | method |

`public function volume(value:Number):MP3LoaderVars`

A value between 0 and 1 indicating the volume at which the sound should play when the MP3Loader's controls are used to play the sound, like `playSound()` or when `autoPlay` is `true` (default volume is 1).

Parameters

| `value:Number`

Returns

| `MP3LoaderVars`