パッケージmx.core
public class SoundAsset
継承SoundAsset Inheritance Sound Inheritance EventDispatcher Inheritance Object
ImplementsIFlexAsset

SoundAsset は、Flex アプリケーションに埋め込まれたサウンドを表す Flash Player の Sound クラスのサブクラスです。

MP3 ファイルのサウンドを埋め込むことができます。Flash によって作成された SWF ファイルのサウンドシンボルを埋め込むこともできます。いずれのケースでも、MXML コンパイラは、埋め込まれたサウンドデータを表すように SoundAsset を拡張するクラスを自動生成します。

通常は、Flex アプリケーションを作成するときに SoundAsset クラスを直接使用する必要はありません。たとえば、次のように記述するだけで、MP3 ファイルを埋め込み、SoundEffect で使用することができます。

  <mx:SoundEffect id="beep" source="@Embed(source='Beep.mp3')"/>

MXML コンパイラによって SoundAsset のサブクラスが作成されたことを認識しておく必要はありません。

ただし、ActionScript レベルで何が行われているのかを理解しておくことは有益です。ビットマップを ActionScript に埋め込むには、Class 型の変数を宣言し、それに [Embed] メタデータを入れます。たとえば、このようにして MP3 ファイルを埋め込みます。

  [Bindable]
  [Embed(source="Beep.mp3")]
  private var beepClass:Class;

MXML コンパイラは、拡張子 .mp3 を確認し、MP3 データを Flash Player が使用するサウンド形式にトランスコードして、SoundAsset クラスのサブクラスを自動生成し、この自動生成されたクラスへの参照を変数に設定します。その後、このクラス参照を使用し、new 演算子を使用して SoundAsset のインスタンスを作成すること、およびそれらに Sound クラスの API を使用することができます。

    var beepSound:SoundAsset = SoundAsset(new beepClass());
    beepSound.play();

ただし、サウンド関連のプロパティおよびスタイルをサウンド生成クラスに設定でき、コンポーネントが必要に応じてサウンドインスタンスを作成するため、SoundAsset インスタンスを自分で作成する必要はほとんどありません。たとえば、このサウンドを SoundEffect で再生するために、SoundEffect の source プロパティを beepClass に設定することができます。MXML では、次のようにします。

  <mx:SoundEffect id="beepEffect" source="{beepClass}"/>



パブリックプロパティ
 プロパティ定義
 InheritedbytesLoaded : uint
この Sound オブジェクトで現在利用できるデータのバイト数を返します。
Sound
 InheritedbytesTotal : int
この Sound オブジェクトの合計バイト数を返します。
Sound
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 Inheritedid3 : ID3Info
MP3 ファイルの一部であるメタデータに対するアクセスを提供します。
Sound
 InheritedisBuffering : Boolean
外部 MP3 ファイルのバッファリング状態を返します。
Sound
 Inheritedlength : Number
現在のサウンドの継続時間を示すミリ秒数です。
Sound
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
 Inheritedurl : String
サウンドがロードされる URL です。
Sound
パブリック Methods
 メソッド定義
  
コンストラクタです。
SoundAsset
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
リスナーがイベントの通知を受け取るように、イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録します。
EventDispatcher
 Inherited
ストリームを閉じて、データのダウンロードを中止します。
Sound
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
指定されたプロパティがオブジェクトに定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
load(stream:URLRequest, context:SoundLoaderContext = null):void
指定した URL から外部 MP3 ファイルのロードを開始します。
Sound
 Inherited
play(startTime:Number = 0, loops:int = 0, sndTransform:SoundTransform = null):SoundChannel
サウンドを再生する SoundChannel オブジェクトを新しく作成します。
Sound
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント一覧定義
 Inherited Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited データが正常にロードされたときに送出されます。Sound
 Inherited Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
 Inherited
id3
MP3 サウンドで ID3 データを使用できる場合に、Sound オブジェクトによって送出されます。Sound
 Inherited 入出力エラーが発生してロード操作が失敗したときに送出されます。Sound
 Inherited ロード操作が開始したときに送出されます。Sound
 Inherited ロード処理を実行中にデータを受信したときに送出されます。Sound
コンストラクタの詳細
SoundAsset()コンストラクタ
public 関数 SoundAsset()

コンストラクタです。