home *** CD-ROM | disk | FTP | other *** search
- package classes.basic.Sound
- {
- import flash.media.Sound;
-
- public class TFSound
- {
-
- public static var TYPE_MUSIC:Number = 0;
-
- public static var TYPE_SFX:Number = 1;
-
-
- private var iType:Number;
-
- private var arSoundChannel:Array;
-
- private var iVolume:Number;
-
- private var bLoop:Boolean;
-
- private var pClass:Sound;
-
- private var pEventCallback:Function;
-
- private var iFadeOutDuration:Number;
-
- private var iFadeInDuration:Number;
-
- public function TFSound(param1:Class, param2:Number, param3:Function = null, param4:Boolean = false, param5:Number = 0, param6:Number = 0)
- {
- super();
- this.iVolume = 0;
- this.iType = param2;
- this.bLoop = param4;
- this.iFadeInDuration = param5;
- this.iFadeOutDuration = param6;
- this.pEventCallback = param3;
- this.pClass = new param1();
- arSoundChannel = new Array();
- }
-
- public function stop() : Boolean
- {
- var _loc1_:Number = NaN;
- _loc1_ = 0;
- while(_loc1_ < arSoundChannel.length)
- {
- arSoundChannel[_loc1_].stop();
- _loc1_++;
- }
- return true;
- }
-
- public function setVolume(param1:Number) : *
- {
- var _loc2_:Number = NaN;
- iVolume = param1;
- _loc2_ = 0;
- while(_loc2_ < arSoundChannel.length)
- {
- arSoundChannel[_loc2_].setVolume(param1);
- _loc2_++;
- }
- }
-
- public function execFadeOut(param1:Number) : *
- {
- var _loc2_:* = undefined;
- for(_loc2_ in arSoundChannel)
- {
- arSoundChannel[_loc2_].execFadeOut(param1);
- }
- }
-
- public function setFadeOutDuration(param1:Number) : *
- {
- var _loc2_:* = undefined;
- for(_loc2_ in arSoundChannel)
- {
- arSoundChannel[_loc2_].setFadeOutDuration(param1);
- }
- }
-
- public function process(param1:Object) : *
- {
- var _loc2_:* = undefined;
- for(_loc2_ in arSoundChannel)
- {
- arSoundChannel[_loc2_].process(param1);
- if(arSoundChannel[_loc2_].getState() == TFSoundChannel.ST_STOPPED)
- {
- arSoundChannel.splice(_loc2_,1);
- }
- }
- }
-
- public function getType() : Number
- {
- return iType;
- }
-
- public function execFadeIn(param1:Number) : *
- {
- var _loc2_:* = undefined;
- for(_loc2_ in arSoundChannel)
- {
- arSoundChannel[_loc2_].execFadeIn(param1);
- }
- }
-
- public function play() : TFSoundChannel
- {
- var _loc1_:Number = NaN;
- var _loc2_:TFSoundChannel = null;
- _loc1_ = arSoundChannel.length;
- _loc2_ = new TFSoundChannel(pClass,iType,pEventCallback,bLoop,iFadeInDuration,iFadeOutDuration);
- arSoundChannel.push(_loc2_);
- _loc2_.setVolume(iVolume);
- _loc2_.play();
- return _loc2_;
- }
-
- public function setFadeInDuration(param1:Number) : *
- {
- var _loc2_:* = undefined;
- for(_loc2_ in arSoundChannel)
- {
- arSoundChannel[_loc2_].setFadeInDuration(param1);
- }
- }
- }
- }
-