Package | flash.events |
Class | public class SampleDataEvent |
Inheritance | SampleDataEvent Event Object |
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Use this event when you want to manage dynamically generated audio. In this environment, the Sound object doesn't actually contain sound data. Instead, it acts as a socket for sound data that is being streamed to it through the use of the function you assign to this event.
In your function, you use the ByteArray.writeFloat()
method to write to
a ByteArray object (event.data
) that contains the sampled data you
want to play.
When you call Sound.play()
, the player starts
calling your event handler, asking for chunks of data that contain sound samples. The player
continues to send events as the sound plays back until you stop providing data,
or until SoundChannel.stop()
is called.
The latency of the event varies from platform to platform,
and could change in future versions of Flash Player. Don't depend on a specific latency, calculate it instead.
To calculate the latency in ActionScript, use the formula:
((SampleDataEvent.position/44.1) - SoundChannelObject.position)
.
Provide between 2048 and 8192 samples in a SampleDataEvent
object.
For best performance, provide as many samples as possible.
The fewer samples you provide, the more likely it is
that clicks and pops will occur during playback. This behavior can differ on various platforms
and can occur in various situations - for example, when resizing the browser.
You might write code that works on one platform when you provide only 2048 samples, but that same code
might not work as well when run on a different platform. If you require the lowest latency possible,
consider making the amount of data user-selectable.
If you provide fewer than 2048 samples, Flash Player plays the remaining samples and then stops the sound as if the end of a sound file was reached, generating a SoundComplete event.
You can also use the Sound.extract()
method to extract data from a Sound object,
which you can then write to the dynamic stream for playback.
When you use this event with a Sound object, the only other Sound methods that are enabled
are Sound.extract()
and Sound.play()
. Calling any other methods or properties
results in an "invalid call" exception. All methods and properties of the SoundChannel object
are still enabled.
See also
Property | Defined By | ||
---|---|---|---|
bubbles : Boolean [read-only]
Indicates whether an event is a bubbling event. | Event | ||
cancelable : Boolean [read-only]
Indicates whether the behavior associated with the event can be prevented. | Event | ||
constructor : Object
A reference to the class object or constructor function for a given object instance. | Object | ||
currentTarget : Object [read-only]
The object that is actively processing the Event object with an event listener. | Event | ||
data : ByteArray
The data in the audio stream. | SampleDataEvent | ||
eventPhase : uint [read-only]
The current phase in the event flow. | Event | ||
position : Number
The position of the data in the audio stream. | SampleDataEvent | ||
prototype : Object [static]
A reference to the prototype object of a class or function object. | Object | ||
target : Object [read-only]
The event target. | Event | ||
type : String [read-only]
The type of event. | Event |
Method | Defined By | ||
---|---|---|---|
SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Creates an event object that contains information about audio data events. | SampleDataEvent | ||
[override]
Creates a copy of the SampleDataEvent object and sets each property's value to match that of the original. | SampleDataEvent | ||
A utility function for implementing the toString() method in custom
ActionScript 3.0 Event classes. | Event | ||
Indicates whether an object has a specified property defined. | Object | ||
Checks whether the preventDefault() method has been called on the event. | Event | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | ||
Cancels an event's default behavior if that behavior can be canceled. | Event | ||
Indicates whether the specified property exists and is enumerable. | Object | ||
Sets the availability of a dynamic property for loop operations. | Object | ||
Prevents processing of any event listeners in the current node and any subsequent nodes in
the event flow. | Event | ||
Prevents processing of any event listeners in nodes subsequent to the current node in the
event flow. | Event | ||
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | ||
[override]
Returns a string that contains all the properties of the SampleDataEvent object. | SampleDataEvent | ||
Returns the primitive value of the specified object. | Object |
Constant | Defined By | ||
---|---|---|---|
ACTIVATE : String = "activate" [static]
The ACTIVATE constant defines the value of the type property of an activate event object. | Event | ||
ADDED : String = "added" [static]
The Event.ADDED constant defines the value of the type property of
an added event object. | Event | ||
ADDED_TO_STAGE : String = "addedToStage" [static]
The Event.ADDED_TO_STAGE constant defines the value of the type
property of an addedToStage event object. | Event | ||
CANCEL : String = "cancel" [static]
The Event.CANCEL constant defines the value of the type property of a cancel event object. | Event | ||
CHANGE : String = "change" [static]
The Event.CHANGE constant defines the value of the type property of a change event object. | Event | ||
CLEAR : String = "clear" [static]
The Event.CLEAR constant efines the value of the type property
of a clear event object. | Event | ||
CLOSE : String = "close" [static]
The Event.CLOSE constant defines the value of the type property of a close event object. | Event | ||
CLOSING : String = "closing" [static]
The Event.CLOSING constant defines the value of the
type property of a closing event object. | Event | ||
COMPLETE : String = "complete" [static]
The Event.COMPLETE constant defines the value of the type property of a complete event object. | Event | ||
CONNECT : String = "connect" [static]
The Event.CONNECT constant defines the value of the type property of a connect event object. | Event | ||
COPY : String = "copy" [static]
Defines the value of the type property of a copy event object. | Event | ||
CUT : String = "cut" [static]
Defines the value of the type property of a cut event object. | Event | ||
DEACTIVATE : String = "deactivate" [static]
The Event.DEACTIVATE constant defines the value of the type property of a deactivate event object. | Event | ||
DISPLAYING : String = "displaying" [static]
The Event.DISPLAYING constant defines the value of the type property of a displaying event object. | Event | ||
ENTER_FRAME : String = "enterFrame" [static]
The Event.ENTER_FRAME constant defines the value of the type property of an enterFrame event object. | Event | ||
EXIT_FRAME : String = "exitFrame" [static]
The Event.EXIT_FRAME constant defines the value of the type property of an exitFrame event object. | Event | ||
EXITING : String = "exiting" [static]
The Event.EXITING constant defines the value of the type property of an exiting event object. | Event | ||
FRAME_CONSTRUCTED : String = "frameConstructed" [static]
The Event.FRAME_CONSTRUCTED constant defines the value of the type property of an frameConstructed event object. | Event | ||
FULLSCREEN : String = "fullScreen" [static]
The Event.FULL_SCREEN constant defines the value of the type property of a fullScreen event object. | Event | ||
HTML_BOUNDS_CHANGE : String = "htmlBoundsChange" [static]
The Event.HTML_BOUNDS_CHANGE constant defines the value of the type property of an htmlBoundsChange event object. | Event | ||
HTML_DOM_INITIALIZE : String = "htmlDOMInitialize" [static]
The Event.HTML_DOM_INITIALIZE constant defines the value of the type property
of an htmlDOMInitialize event object. | Event | ||
HTML_RENDER : String = "htmlRender" [static]
The Event.HTML_RENDER constant defines the value of the type property of an htmlRender event object. | Event | ||
ID3 : String = "id3" [static]
The Event.ID3 constant defines the value of the type property of an id3 event object. | Event | ||
INIT : String = "init" [static]
The Event.INIT constant defines the value of the type property of an init event object. | Event | ||
LOCATION_CHANGE : String = "locationChange" [static]
The Event.LOCATION_CHANGE constant defines the value of the type property of a locationChange event object. | Event | ||
MOUSE_LEAVE : String = "mouseLeave" [static]
The Event.MOUSE_LEAVE constant defines the value of the type property of a mouseLeave event object. | Event | ||
NETWORK_CHANGE : String = "networkChange" [static]
The Event.NETWORK_CHANGE constant defines the value of the type property of a networkChange event object. | Event | ||
OPEN : String = "open" [static]
The Event.OPEN constant defines the value of the type property of an open event object. | Event | ||
PASTE : String = "paste" [static]
The Event.PASTE constant defines the value of the type property of a paste event object. | Event | ||
REMOVED : String = "removed" [static]
The Event.REMOVED constant defines the value of the type property of
a removed event object. | Event | ||
REMOVED_FROM_STAGE : String = "removedFromStage" [static]
The Event.REMOVED_FROM_STAGE constant defines the value of the type
property of a removedFromStage event object. | Event | ||
RENDER : String = "render" [static]
The Event.RENDER constant defines the value of the type property of a render event object. | Event | ||
RESIZE : String = "resize" [static]
The Event.RESIZE constant defines the value of the type property of a resize event object. | Event | ||
SAMPLE_DATA : String = "sampleData" [static]
Defines the value of the type property of a SampleDataEvent event object. | SampleDataEvent | ||
SCROLL : String = "scroll" [static]
The Event.SCROLL constant defines the value of the type property of a scroll event object. | Event | ||
SELECT : String = "select" [static]
The Event.SELECT constant defines the value of the type property of a select event object. | Event | ||
SELECT_ALL : String = "selectAll" [static]
The Event.SELECT_ALL constant defines the value of the type property of a selectAll event object. | Event | ||
SOUND_COMPLETE : String = "soundComplete" [static]
The Event.SOUND_COMPLETE constant defines the value of the type property of a soundComplete event object. | Event | ||
TAB_CHILDREN_CHANGE : String = "tabChildrenChange" [static]
The Event.TAB_CHILDREN_CHANGE constant defines the value of the type property of a tabChildrenChange event object. | Event | ||
TAB_ENABLED_CHANGE : String = "tabEnabledChange" [static]
The Event.TAB_ENABLED_CHANGE constant defines the value of the type
property of a tabEnabledChange event object. | Event | ||
TAB_INDEX_CHANGE : String = "tabIndexChange" [static]
The Event.TAB_INDEX_CHANGE constant defines the value of the
type property of a tabIndexChange event object. | Event | ||
UNLOAD : String = "unload" [static]
The Event.UNLOAD constant defines the value of the type property of an unload event object. | Event | ||
USER_IDLE : String = "userIdle" [static]
The Event.USER_IDLE constant defines the value of the type property of a userIdle event object. | Event | ||
USER_PRESENT : String = "userPresent" [static]
The Event.USER_PRESENT constant defines the value of the type property of a userPresent event object. | Event |
data | property |
data:ByteArray
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
The data in the audio stream.
Implementation
public function get data():ByteArray
public function set data(value:ByteArray):void
position | property |
position:Number
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
The position of the data in the audio stream.
Implementation
public function get position():Number
public function set position(value:Number):void
SampleDataEvent | () | Constructor |
public function SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Creates an event object that contains information about audio data events. Event objects are passed as parameters to event listeners.
Parameterstype:String — The type of the event. This value is:Event.SAMPLE_DATA .
| |
bubbles:Boolean (default = false ) — Determines whether the Event object participates in the bubbling stage of the event flow.
| |
cancelable:Boolean (default = false ) — Determines whether the Event object can be canceled.
| |
theposition:Number (default = 0 ) — The position of the data in the audio stream.
| |
thedata:ByteArray (default = null ) — A byte array of data.
|
clone | () | method |
override public function clone():Event
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Creates a copy of the SampleDataEvent object and sets each property's value to match that of the original.
ReturnsEvent — A new SampleDataEvent object with property values that match those of the original.
|
toString | () | method |
override public function toString():String
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Returns a string that contains all the properties of the SampleDataEvent object. The string is in the following format:
[SampleDataEvent type=value bubbles=value cancelable=value theposition=value thedata=value]
String — A string that contains all the properties of the SampleDataEvent object.
|
SAMPLE_DATA | Constant |
public static const SAMPLE_DATA:String = "sampleData"
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Defines the value of the type
property of a SampleDataEvent
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
cancelable | false ; there is no default behavior to cancel. |
position | The point from which audio data is provided. |
See also
var mySound:Sound = new Sound(); function sineWaveGenerator(event:SampleDataEvent):void { for ( var c:int=0; c<8192; c++ ) { event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); } } mySound.addEventListener(SampleDataEvent.SAMPLE_DATA,sineWaveGenerator); mySound.play();
Fri Mar 19 2010, 02:45 AM -07:00