パッケージflash.events
クラスpublic class SampleDataEvent
継承SampleDataEvent Inheritance Event Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

Flash Player が新しいオーディオデータを要求するときに送出されます。

動的に生成されるオーディオを管理する場合、このイベントを使用します。この環境では、Sound オブジェクトにはサウンドデータは実際には格納されません。代わりに、このイベントに割り当てた関数の使用を通じてストリームされるサウンドデータのソケットとして動作します。

関数では、ByteArray.writeFloat() メソッドを使用して、再生するサンプリングデータを格納する ByteArray オブジェクト(event.data)に書き込みます。

Sound.play() を呼び出すと、Flash Player はイベントハンドラの呼び出しを開始し、サウンドサンプルを含むデータチャンクを要求します。サウンドの再生中、Flash Player は、データの供給を停止するまで、または SoundChannel.stop() が呼び出されるまで、イベントを送信し続けます。

イベントの待ち時間はプラットフォームにより異なりますが、Flash Player の将来のバージョンでは変更できるようになります。特定の待ち時間に依存せず、計算するようにしてください。ActionScript で待ち時間を計算するには、((SampleDataEvent.position/44.1) - SoundChannelObject.position) という数式を使用します。

SampleDataEvent オブジェクトで 2048 以上 8192 以下の数のサンプルを用意します。最適なパフォーマンスを得るには、できるだけ多くのサンプルを用意します。用意するサンプルが少なければ少ないほど、再生中にクリック音およびポップ音が発生する可能性が高くなります。この現象はプラットフォームごとに異なり、また、様々な状況で発生します(例えば、ブラウザのサイズを変更した場合)。あるプラットフォームで 2048 のみのサンプルを用意した状態で動作するコードを記述しても、その同じコードを別のプラットフォームで実行した場合には動作しないことがあります。待ち時間をできるだけ短くするには、ユーザーが選択できるデータの量を考慮します。

用意したサンプル数が 2048 より少ない場合、Flash Player は存在するサンプルを再生し、その後、サウンドファイルの末尾に達したかのようにサウンドを停止し、SoundComplete イベントを生成します。

Sound.extract() メソッドを使用して、Sound オブジェクトからデータを抽出することもできます。データ抽出後、再生のダイナミックストリームにそのデータを書き込むことができます。

Sound オブジェクトでこのイベントを使用する場合、有効な他の Sound メソッドは、Sound.extract()Sound.play() のみです。他のメソッドまたはプロパティを呼び出すと、「invalid call」例外が発生します。SoundChannel オブジェクトのすべてのメソッドおよびプロジェクトは、この場合でも有効です。

例を表示

関連項目

flash.media.Sound


パブリックプロパティ
 プロパティ定義元
 Inheritedbubbles : Boolean
[読み取り専用] イベントがバブリングイベントかどうかを示します。
Event
 Inheritedcancelable : Boolean
[読み取り専用] イベントに関連付けられた動作を回避できるかどうかを示します。
Event
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 InheritedcurrentTarget : Object
[読み取り専用] イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
Event
  data : ByteArray
オーディオストリーム内のデータです。
SampleDataEvent
 InheritedeventPhase : uint
[読み取り専用] イベントフローの現在の段階です。
Event
  position : Number
オーディオストリーム内のデータの位置です。
SampleDataEvent
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
 Inheritedtarget : Object
[読み取り専用] イベントターゲットです。
Event
 Inheritedtype : String
[読み取り専用] イベントのタイプです。
Event
パブリックメソッド
 メソッド定義元
  
SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
オーディオデータイベントに関する情報を含むイベントオブジェクトを作成します。
SampleDataEvent
  
[override] SampleDataEvent オブジェクトのコピーを作成して、各プロパティの値を元のプロパティの値と一致するように設定します。
SampleDataEvent
 Inherited
formatToString(className:String, ... arguments):String
カスタム ActionScript 3.0 Event クラスに toString() メソッドを実装するためのユーティリティ関数です。
Event
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
イベントで preventDefault() メソッドが呼び出されたかどうかを確認します。
Event
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
イベントのデフォルト動作をキャンセルできる場合に、その動作をキャンセルします。
Event
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
イベントフローの現在のノードおよび後続するノードで、イベントリスナーが処理されないようにします。
Event
 Inherited
イベントフローの現在のノードに後続するノードで、イベントリスナーが処理されないようにします。
Event
  
[override] SampleDataEvent オブジェクトのすべてのプロパティを含むストリングを返します。
SampleDataEvent
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
パブリック定数
 定数定義元
 InheritedACTIVATE : String = "activate"
[静的] ACTIVATE 定数は、type プロパティ(activate イベントオブジェクト)の値を定義します。
Event
 InheritedADDED : String = "added"
[静的] Event.ADDED 定数は、added イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[静的] Event.ADDED_TO_STAGE 定数は、type プロパティ (addedToStage イベントオブジェクト) の値を定義します。
Event
 InheritedCANCEL : String = "cancel"
[静的] Event.CANCEL 定数は、cancel イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCHANGE : String = "change"
[静的] Event.CHANGE 定数は、type プロパティ (change イベントオブジェクト) の値を定義します。
Event
 InheritedCLEAR : String = "clear"
[静的] Event.CLEAR 定数は、clear イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCLOSE : String = "close"
[静的] Event.CLOSE 定数は、close イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only CLOSING : String = "closing"
[静的] Event.CLOSING 定数は、closing イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCOMPLETE : String = "complete"
[静的] Event.COMPLETE 定数は、complete イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCONNECT : String = "connect"
[静的] Event.CONNECT 定数は、connect イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedCOPY : String = "copy"
[静的] copy イベントオブジェクトの type プロパティ値を定義します。
Event
 InheritedCUT : String = "cut"
[静的] cut イベントオブジェクトの type プロパティ値を定義します。
Event
 InheritedDEACTIVATE : String = "deactivate"
[静的] Event.DEACTIVATE 定数は、deactivate イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedDISPLAYING : String = "displaying"
[静的] Event.DISPLAYING 定数は、displaying イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedENTER_FRAME : String = "enterFrame"
[静的] Event.ENTER_FRAME 定数は、enterFrame イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[静的] Event.EXIT_FRAME 定数は、exitFrame イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only EXITING : String = "exiting"
[静的] Event.EXITING 定数は、type プロパティ (exiting イベントオブジェクト) の値を定義します。
Event
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[静的] Event.FRAME_CONSTRUCTED 定数は、frameConstructed イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedFULLSCREEN : String = "fullScreen"
[静的] Event.FULL_SCREEN 定数は、fullScreen イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[静的] Event.HTML_BOUNDS_CHANGE 定数は、htmlBoundsChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[静的] Event.HTML_DOM_INITIALIZE 定数は、htmlDOMInitialize イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only HTML_RENDER : String = "htmlRender"
[静的] Event.HTML_RENDER 定数は、htmlRender イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedID3 : String = "id3"
[静的] Event.ID3 定数は、id3 イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedINIT : String = "init"
[静的] Event.INIT 定数は、init イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only LOCATION_CHANGE : String = "locationChange"
[静的] Event.LOCATION_CHANGE 定数は、locationChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[静的] Event.MOUSE_LEAVE 定数は、mouseLeave イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only NETWORK_CHANGE : String = "networkChange"
[静的] Event.NETWORK_CHANGE 定数は、networkChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedOPEN : String = "open"
[静的] Event.OPEN 定数は、open イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedPASTE : String = "paste"
[静的] Event.PASTE 定数は、paste イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedREMOVED : String = "removed"
[静的] Event.REMOVED 定数は、removed イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[静的] Event.REMOVED_FROM_STAGE 定数は、removedFromStage イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedRENDER : String = "render"
[静的] Event.RENDER 定数は、render イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedRESIZE : String = "resize"
[静的] Event.RESIZE 定数は、resize イベントオブジェクトの type プロパティの値を定義します。
Event
  SAMPLE_DATA : String = "sampleData"
[静的] SampleDataEvent イベントオブジェクトの type プロパティ値を定義します。
SampleDataEvent
 InheritedSCROLL : String = "scroll"
[静的] Event.SCROLL 定数は、scroll イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedSELECT : String = "select"
[静的] Event.SELECT 定数は、select イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedSELECT_ALL : String = "selectAll"
[静的] Event.SELECT_ALL 定数は、selectAll イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[静的] Event.SOUND_COMPLETE 定数は、soundComplete イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[静的] Event.TAB_CHILDREN_CHANGE 定数は、tabChildrenChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[静的] Event.TAB_ENABLED_CHANGE 定数は、tabEnabledChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[静的] Event.TAB_INDEX_CHANGE 定数は、tabIndexChange イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedUNLOAD : String = "unload"
[静的] Event.UNLOAD 定数は、unload イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only USER_IDLE : String = "userIdle"
[静的] Event.USER_IDLE 定数は、userIdle イベントオブジェクトの type プロパティの値を定義します。
Event
 InheritedAIR-only USER_PRESENT : String = "userPresent"
[静的] Event.USER_PRESENT 定数は、userPresent イベントオブジェクトの type プロパティの値を定義します。
Event
プロパティの詳細
dataプロパティ
data:ByteArray

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

オーディオストリーム内のデータです。



実装
    public function get data():ByteArray
    public function set data(value:ByteArray):void
positionプロパティ 
position:Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

オーディオストリーム内のデータの位置です。



実装
    public function get position():Number
    public function set position(value:Number):void
コンストラクタの詳細
SampleDataEvent()コンストラクタ
public function SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

オーディオデータイベントに関する情報を含むイベントオブジェクトを作成します。イベントリスナーには Event オブジェクトがパラメータとして渡されます。

パラメータ
type:String — イベントのタイプです。 この値は Event.SAMPLE_DATA になります。
 
bubbles:Boolean (default = false) — Event オブジェクトがイベントフローのバブリング段階で処理されるかどうかを判断します。
 
cancelable:Boolean (default = false) — Event オブジェクトがキャンセル可能かどうかを判断します。
 
theposition:Number (default = 0) — オーディオストリーム内のデータの位置です。
 
thedata:ByteArray (default = null) — データのバイト配列です。
メソッドの詳細
clone()メソッド
override public function clone():Event

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

SampleDataEvent オブジェクトのコピーを作成して、各プロパティの値を元のプロパティの値と一致するように設定します。

戻り値
Event — 元のオブジェクトと同じプロパティ値を含む新しい SampleDataEvent オブジェクトです。
toString()メソッド 
override public function toString():String

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

SampleDataEvent オブジェクトのすべてのプロパティを含むストリングを返します。ストリングは次の形式です。

[SampleDataEvent type=value bubbles=value cancelable=value theposition=value thedata=value]

戻り値
StringSampleDataEvent オブジェクトのすべてのプロパティを含むストリングです。
定数の詳細
SAMPLE_DATA定数
public static const SAMPLE_DATA:String = "sampleData"

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

type プロパティ (SampleDataEvent イベントオブジェクト) の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
positionオーディオデータの提供元となるポイントです。

関連項目

例の使用法
Sound_sampleDataExample.as

次の例は、単純な正弦波を再生します。
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();




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/events/SampleDataEvent.html