サイトトップ

Director Flash 書籍 業務内容 プロフィール

Macromedia Flash非公式テクニカルノート

Sound.loadSound()メソッド

ID: FN0404002 Product: Flash

Platform: All
Version: MX and above

シンタックス
my_sound.loadSound(URL, ストリーミング設定)

引数
URL   ロードするMP3サウンドファイルのネットワークまたはローカルパスを指定するストリング。

ストリーミング設定   ロードするサウンドの設定を指定するブール(論理)値[*1]。trueがストリーミングサウンドで、falseはイベントサウンドになります。

[*1] ドキュメントに明記されていませんが、第2引数は省略できます。省略時のデフォルトは、falseのイベントサウンドです。

戻り値
なし。

説明
メソッド。Soundインスタンスに、外部MP3ファイルをロードします。第2引数のストリーミング設定は、サウンドをストリーミングにするか、イベントサウンドにするかを指定します。

ストリーミング設定trueに指定すると、ロードしたサウンドはストリーミング再生されます。ストリーミングサウンドは、バッファに一定時間分のデータ[*2]がダウンロードされると、自動的に再生されます[*3]。Sound.start()メソッドでサウンドの再生を開始する必要はありません。なお、Sound.start()メソッドは、Flash Player 6.0r40以降でないと、ロードしたストリーミングサウンドに使用できません[*4]。

ストリーミング設定falseにすると、イベントサウンドになります。イベントサウンドは、メモリに完全にロードするまで再生できません。また、イベントサウンドを再生するには、Sound.start()メソッドを呼出す必要があります。したがって、イベントサウンドのロードが済み次第再生するためには、読込みの完了を待ち[*5]、Sound.start()メソッドを明示的に実行しなければなりません。

[*2] ストリーミングサウンドをプリロードするデータ量は、_soundbuftimeグローバルプロパティにより決まります。プロパティの値は秒数を単位とする整数で、デフォルト値は5(秒)です。

[*3] ストリーミングサウンドは、データをダウンロードしながら再生します。そのため、再生開始に若干の遅れが発生することもあります。

[*4] Flash Player 6.0r40より前のバージョンでは、Sound.stop()実行後にSound.start()メソッドが機能しませんでした。しかし、ストリーミングサウンドは、Sound.start()メソッドを呼出すことなく再生が開始します。したがって、Sound.stop()メソッド実行後に機能しないのなら、実際上使いようがありません。

[*5] サウンドのロード待ちには、Sound.onLoadイベントハンドラメソッドを使用します。Sound.onLoadへのコールバック関数定義は、Sound.loadSound()メソッドでサウンドをロードする前に行う必要があります。詳しくは、「Sound.loadSoundメソッドでイベントサウンドを読込んで再生する」および「Sound.onLoadが実行されない」をご参照ください。


以下のフレームアクションをMovieClipシンボルのキーフレームに設定すると、同階層の外部MP3ファイル"test.mp3"を読込んで、ストリーミングサウンドとして再生します。

// MovieClip: サウンド読込み用
// フレームアクション
my_sound = new Sound(this);  // インスタンスの生成
// MP3ファイルをストリーミングサウンドとしてロード
my_sound.loadSound("test.mp3", true);

以下のフレームアクションをMovieClipシンボルのキーフレームに設定すると、同階層の外部MP3ファイル"test.mp3"をイベントサウンドとしてロードします。サウンドはロードが完了すると、再生されます[*6]。

// MovieClip: サウンド読込み用
// フレームアクション
my_sound = new Sound(this);  // インスタンスの生成
my_sound.onLoad = function(success) {  // イベントハンドラメソッド定義
  if (success) {  // ロード結果の判定
    this.start();  // サウンド再生
  }
};
// MP3ファイルをイベントサウンドとしてロード
my_sound.loadSound("test.mp3", false);

[*6] スクリプトの詳しい処理内容については、前掲註[*5]「Sound.loadSoundメソッドでイベントサウンドを読込んで再生する」をご参照ください。

Player
Flash Player 6.0以降。

参考
Flash MX 2004 ActionScript Dictionary: Sound.loadSound()

_____

作成者: 野中文雄
作成日: 2004年4月30日


Copyright © 2001-2006 Fumio Nonaka.  All rights reserved.