SEManagerクラス

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

  • 複数のSE(効果音)を登録して簡単に再生させるためのクラスです。
  • BGMと違い、SEは複数同時に呼び出すことがあるので、SE毎にSoundオブジェクトを作成しています。
  • 全SEに対して Soundオブジェクトを作るので、大量登録には注意してください。
  • SEは短めの音を即座に鳴らさないといけないので、ライブラリからの呼び出しのみ対応です。
  • volumeプロパティによる音量変更は、全Soundオブジェクトに対して処理するので注意。
  • 個別に音量調整する場合は setVolumeMax( name:String, vol:Number ) を用います。
  • Flash7環境でも使えるかもしれません。

コード

サンプル

使用方法

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

import tv.sygnas.sound.SEManager;

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

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

// 音声を再生。
mySE.play( "se1" );

エラーについて

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

エラーメッセージ

NO_ADDED指定された識別子は登録されていない

プロパティ

_seList:Object
SEのリスト。登録時の名前をキーに、最大音量と、Soundオブジェクトが登録されている。
_seList[key].vol:Number最大音量
_seList[key].sound:SoundSoundオブジェクト
volume:Number
全体の音量。 0~100の範囲で与える。 曲登録時の最大音量を「100」として考える。 「50」で登録した曲を、「50」で再生していたら「100」を返す。
total:Number(読み取り専用)
総曲数
enabled:Boolean
有効・無効

イベント

onError = function( bgmManager:BGMManager, msg:String )
エラー発生。メッセージは前述の「エラーについて」参照。
onEnabled = function( bgmManager:BGMManager, bool:Boolean )
再生の有効、無効が変わった時に呼ばれます。「bool」は有効状態なら「true」、無効なら「false」が入ります。

コンストラクタ

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

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

メソッド

addSE( name:String, link:String, vol:Number, func:Function ):Void
音声を追加します。
name 識別子
link 音声ファイルのリンケージ名
vol 基準ボリューム。指定がなければ「100」になる
func 音声再生後のコールバック関数
play( name:String ):Void
指定された音声を再生します。
name 識別子
stop( name:String ):Void
再生中の音声を停止します。
name 識別子
setVolumeMax( name:String, vol:Number ):Void
音声単体の最大音量を変更します。再生中の音量は変わりません。
mame 曲識別子
vol 音量(0-100)
getVolumeMax( name:String ):Number
音声単体の最大音量を取得します。
mame 曲識別子
setSoundComplete( name:String, func:Function ):Void
SE再生完了時に実行するコールバック関数を個別に指定します。
mame 曲識別子
func コールバック関数
dispose():Void
SEManagerを破棄します。