FlxSound
API Reference > flixel.system > FlxSound
FlxSound
サウンド再生を行うクラスです。ストリーム再生やサウンドエフェクトをかけることできます
- FlxSound
- フィールド
- x:Float: 再生座標(X)
- y:Float: 再生座標(Y)
- persist:Bool : FlxStateを切り替えたときに破棄するかどうか。デフォルトはtrue
- name:String: ID3のソング名。ストリーミングサウンドのみ有効
- artist:String : ID3のアーティスト名。ストリーミングサウンドのみ有効
- amplitude:Float : ステレオチャンネルの平均振り幅
- amplitudeLeft:Float : 左ステレオチャンネルの振り幅
- amplitudeRight:Float : 右ステレオチャンネルの振り幅
- autoDestroy:Bool : 再生終了時に自動で破棄するかどうか。デフォルトはfalse
- onComplete:Void->Void : 再生完了時のコールバック関数
- pan:Float : パン。-1で左、1で右。0は中央
- playing:Bool : 再生中かどうか
- volume:Float : 音量
- pitch:Float : 音の高さ
- time:Float : 再生位置
- group:FlxSoundGroup : 所属するサウンドグループ
- looped:Bool : ループするかどうか
- loopTime:Float : 区間ループの開始時間
- fadeTween:FlxTween : サウンド音量のTween
- length : サウンドの長さ
- メソッド
- Tips
フィールド
x:Float: 再生座標(X)
y:Float: 再生座標(Y)
persist:Bool : FlxStateを切り替えたときに破棄するかどうか。デフォルトはtrue
name:String: ID3のソング名。ストリーミングサウンドのみ有効
artist:String : ID3のアーティスト名。ストリーミングサウンドのみ有効
amplitude:Float : ステレオチャンネルの平均振り幅
amplitudeLeft:Float : 左ステレオチャンネルの振り幅
amplitudeRight:Float : 右ステレオチャンネルの振り幅
autoDestroy:Bool : 再生終了時に自動で破棄するかどうか。デフォルトはfalse
onComplete:Void->Void : 再生完了時のコールバック関数
pan:Float : パン。-1で左、1で右。0は中央
playing:Bool : 再生中かどうか
読み取り専用
volume:Float : 音量
pitch:Float : 音の高さ
初期値は 1
time:Float : 再生位置
読み取り専用。単位はミリ秒
group:FlxSoundGroup? : 所属するサウンドグループ
looped:Bool : ループするかどうか
loopTime:Float : 区間ループの開始時間
単位はミリ秒
fadeTween:FlxTween : サウンド音量のTween
fadeIn() / fadeOut() で使用します
length : サウンドの長さ
単位はミリ秒
メソッド
play() : 再生を開始します
proximity() : 距離での音の減衰を有効にします
- 引数
- 戻り値:FlxSound : thisポインタ
resume() : 再生を再開します
pause()メソッドで停止したサウンドを再開します
- 戻り値:FlxSound : thisポインタ
pause() : 再生を一時停止します
一時停止したサウンドはresume()メソッドで再会できます
- 戻り値:FlxSound : thisポインタ
stop() : 再生を停止します
- 戻り値:FlxSound : thisポインタ
fadeOut() : フェードアウト再生をします
- 引数
- Duration:Float = 1 : フェードアウト時間(秒)
- ?To = 0 : フェードアウト完了後の音量
- ?onComplete:FlxTween->Void : フェードアウト完了後のコールバック
- 戻り値:FlxSound : thisポインタ
fadeIn() : フェードイン再生します
- 引数
- Duration:Float = 1 : フェードイン時間(秒)
- From:Float = 0 : フェードイン開始時の音量
- To:FLoat = 1 : フェードイン完了後の音量
- ?onComplete:FlxTween->Void : フェードアウト完了後のコールバック
- 戻り値:FlxSound : thisポインタ
onComplete() : 再生完了時のコールバック関数
- 戻り値:Void
Tips
BGMを区間ループする
区間ループとは、BGMにイントロ区間とループ区間がある場合に、ループ区間内だけを繰り返すことです。
このように、イントロがあって、その後にループする部分があるBGMです。
区間ループするには、ループ開始がどこから始まるのかという情報が必要です。その情報はサウンド加工ツールなどで調べることができます。例えば、フリーソフトの「Audacity」を使う場合は、イントロの終端部分をクリックすると、画面下の「選択開始」というところに表示されます。
この例の場合は、13.710秒がイントロの終端(ループ開始)となります。 この情報がわかれば、後はFlxSound.loopTimeを使うと、区間ループができます。
// BGM "001.ogg" を再生 var sound:FlxSound = FlxG.sound.music.play("assets/music/001.ogg"); // ループ区間を設定 (13.710秒をループ開始とする) sound.loopTime = 13710;