BGMManagerクラス

@version 0.99
@author dada
@url http://sygnas.jp/

  • 複数のBGMを登録して簡単に再生させるためのクラスです。
  • ライブラリからの呼び出しおよび、外部MP3に対応しています。
  • 外部MP3呼び出しの場合ストリーミングは行いません。
  • Flash7環境でも使えるかもしれません。

コード

サンプル

更新履歴

  • 2007/11/01
    • ストリーミングパラメータ「_streaming:Boolean」を追加。
    • ストリーミング再生時は fadein()、crossfade()をしてもフェードまでに再生が始まらない可能性があります。
    • ストリーミング再生時は、ループ指定がききません。onSoundComplete を受け取って play() を実行してください。
    • ストリーミング再生時は、即座にイベントonSoundPlay が呼び出されます。
  • 2007/10/30
    • フェードイン時にもイベント「onSoundPlay」を発生するようにした。
    • STOP時に pause() を実行すると、play() を実行するように変更。

使用方法

インスタンスを作り、それに対して音声ファイルを登録していきます。 登録時に最大音量を設定することで、音量のバラつきに対処することが出来ます。

import jp.sygnas.sound.BGMManager;

// 音声再生ターゲットと、初期音量を設定します。
// ターゲットは Soundクラスの targetにあたります。
var myBGM:BGMManager = new BGMManager(this,100);

// 音声ファイル登録。
// 最大音量を「50」にしているので、volumeプロパティで「100」を設定しても「50」で再生される。
// voumeプロパティに「50」を設定した場合「25」で再生される。
myBGM.addBGM( "bgm1","bgm1.mp3","LOAD",50 );

// フェードインを「2秒」かけて行う。
myBGM.fadein( "bgm1", 2 );

エラーについて

再生失敗すると onError( obj:BGMManager, message:String ) を呼びます。

エラーメッセージ

LOAD_ERROR外部MP3の読み込み失敗
NO_ADDED指定された識別子は登録されていない

プロパティ

_sound1:Sound
Soundオブジェクト。
_sound2:Sound
Soundオブジェクト。クロスフェード時に使用する。
_loop:Number
再生ループ回数
_streaming:Boolean
ストリーミング再生をする。初期値=false
volume:Number
全体の音量。 0~100の範囲で与える。 曲登録時の最大音量を「100」として考える。 「50」で登録した曲を、「50」で再生していたら「100」を返す。
mode:String(読み取り専用)
現在の状態を表す。
PLAY再生中
STOP停止
PAUSE一時停止
FADE_INフェードイン
FADE_OUTフェードアウト
CROSS_FADEクロスフェード
title:String(読み取り専用)
再生中の曲
total:Number(読み取り専用)
総曲数
enabled:Boolean
有効・無効

イベント

onSoundPlay = function( bgmManager:BGMManager )
play()メソッドにより再生開始した時に呼ばれます。
onSoundComplete = function( bgmManager:BGMManager )
再生完了した時に呼ばれます。
onSoundStop = function( bgmManager:BGMManager )
stop()メソッドにより停止した場合に呼ばれます。
onSoundPause = function( bgmManager:BGMManager, bool:Boolean )
一時停止した時に呼ばれます。「bool」は一時停止状態なら「true」、再生再開なら「false」が入ります。
onFadeInComp = function( bgmManager:BGMManager )
フェードイン完了した時に呼ばれます。
onFadeOutComp = function( bgmManager:BGMManager )
フェードアウト完了した時に呼ばれます。
onCrossFadeComp = function( bgmManager:BGMManager )
クロスフェード完了した時に呼ばれます。
onVolume = function( bgmManager:BGMManager )
ボリュームが変わったした時に呼ばれます。
onTitle = function( bgmManager:BGMManager )
再生する曲が変わった時に呼ばれます。
onError = function( bgmManager:BGMManager, msg:String )
エラー発生。メッセージは前述の「エラーについて」参照。
onEnabled = function( bgmManager:BGMManager, bool:Boolean )
再生の有効、無効が変わった時に呼ばれます。「bool」は有効状態なら「true」、無効なら「false」が入ります。

コンストラクタ

BGMManager( target:MovieClip, vol:Number ):Void

targetsoundオブジェクトを割り当てる場所
volスタート時のボリューム。指定がなければ「50」

メソッド

addBGM( name:String, file:String, type:String, vol:Number ):Void
曲を追加します。
name 識別子
file 外部MP3ならURL、ライブラリならリンケージ名
type 外部MP3なら「LOAD」、ライブラリなら「LIB」
vol 基準ボリューム。指定がなければ「100」になる
play( name:String ):Void
指定された曲を再生します。
name 識別子
stop():Void
再生中の曲を停止します。
pause():Void
再生中の曲を一時停止します。
fadein( name:String, sec:Number ):Void
曲を任意秒かけてフェードインします。
name 曲識別子
sec フェードインにかける時間(秒)
fadeout( sec:Number ):Void
再生中の曲を任意秒かけてフェードアウトします。
sec フェードアウトにかける時間(秒)
crossfade( name:String, sec:Number ):Void
再生中の曲をフェードアウトしつつ、同時に新しい曲をフェードインします。
name 曲識別子
sec クロスフェードにかける時間(秒)
setVolumeMax( name:String, vol:Number ):Void
曲単体の最大音量を変更します。再生中の音量は変わりません。
mame 曲識別子
vol 音量(0-100)
getVolumeMax( name:String ):Number
曲単体の最大音量を取得します。
mame 曲識別子
dispose():Void
BGMManagerを破棄します。