package demo.sound
{
import flash.media.*;
import flash.events.Event;
import flash.utils.*;
public class SoundMgr
{
//背景音乐
public static var bgSound:Sound=new BgSound();
public static var bgSoundChannel:SoundChannel = new SoundChannel;
private static var bgSoundTransform:SoundTransform = new SoundTransform;
//mouse is walking
private static var mouseWalk:Sound=new MouseWalk();
private static var mouseWalkSoundChannel:SoundChannel = new SoundChannel;
private static var mouseWalkSoundTransform:SoundTransform = new SoundTransform;
//cat wakes up
private static var catWakeUp:Sound=new CatWakeUp();
private static var catWakeUpSoundChannel:SoundChannel = new SoundChannel;
private static var catWakeUpSoundTransform:SoundTransform = new SoundTransform;
//food is picked up
private static var pickUp:Sound=new PickUp();
private static var pickUpSoundChannel:SoundChannel = new SoundChannel;
private static var pickUpSoundTransform:SoundTransform = new SoundTransform;
//a chili pepper is eaten
private static var chiliEate:Sound=new ChiliEate();
private static var chiliEateSoundChannel:SoundChannel = new SoundChannel;
private static var chiliEateSoundTransform:SoundTransform = new SoundTransform;
//cat is looking around
private static var lookAround:Sound=new LookAround();
private static var lookAroundSoundChannel:SoundChannel = new SoundChannel;
private static var lookAroundSoundTransform:SoundTransform = new SoundTransform;
public function SoundMgr():void
{
/*
判断声音是否播放完
if(sound.length == soundChannel.position)
{
trace("song complete")
}
*/
}
//--------------------------------------------
//背景音乐
public static function playBgSound():void
{
bgSoundChannel = bgSound.play();
bgSoundTransform.volume=10;
bgSoundChannel.soundTransform=bgSoundTransform;
}
//背景音乐停止
public static function stopBgSound():void
{
bgSoundChannel.stop();
}
//背景音乐播放完成
public static function bgSoundComplete():void
{
if(bgSound.length == bgSoundChannel.position)
{
SoundMgr.playBgSound();
}
}
//--------------------------------------------
//mouse is walking
public static function playMouseWalkSound():void
{
mouseWalkSoundChannel = mouseWalk.play(500);
mouseWalkSoundTransform.volume=1;
mouseWalkSoundChannel.soundTransform=mouseWalkSoundTransform;
//输出音乐长度
//trace(mouseWalk.length);
//走路音乐播放完成
//mouseWalk.addEventListener(Event.SOUND_COMPLETE,mouseWalkSoundComplete)
}
//停止走路音乐
public static function stopMouseWalkSound():void
{
mouseWalkSoundChannel.stop();
}
//走路音乐播放完成
public static function mouseWalkSoundComplete():void
{
if(mouseWalk.length == mouseWalkSoundChannel.position)
{
SoundMgr.playMouseWalkSound();
}
}
//走路音乐播放完成
/*private static function mouseWalkSoundComplete(e:Event):void
{
trace("走路音乐播放完毕!!!");
}*/
//--------------------------------------------
//cat wakes up
public static function playCatWakeUpSound():void
{
catWakeUpSoundChannel = catWakeUp.play();
catWakeUpSoundTransform.volume=1;
catWakeUpSoundChannel.soundTransform=catWakeUpSoundTransform;
}
//food is picked up
public static function playPickUpSound():void
{
//从500毫秒开始播放
pickUpSoundChannel = pickUp.play(500);
pickUpSoundTransform.volume=1;
pickUpSoundChannel.soundTransform=pickUpSoundTransform;
//1500毫秒之后停止播放food is picked up
setTimeout(stopPickUpSound,1000);
}
//一秒钟之后停止播放food is picked up
public static function stopPickUpSound():void
{
pickUpSoundChannel.stop();
}
//--------------------------------------------
//a chili pepper is eaten
public static function playChiliEateSound():void
{
chiliEateSoundChannel = chiliEate.play();
chiliEateSoundTransform.volume=0.2;
chiliEateSoundChannel.soundTransform=chiliEateSoundTransform;
}
//停止a chili pepper is eaten
public static function stopChiliEateSound():void
{
chiliEateSoundChannel.stop();
}
//a chili pepper is eaten音乐播放完成
public static function chiliEateSoundComplete():void
{
if(chiliEate.length == chiliEateSoundChannel.position)
{
SoundMgr.playChiliEateSound();
}
}
//--------------------------------------------
//cat is looking around
public static function playLookAroundSound():void
{
lookAroundSoundChannel = lookAround.play(1000);
lookAroundSoundTransform.volume=0.2;
lookAroundSoundChannel.soundTransform=lookAroundSoundTransform;
}
//停止cat is looking around
public static function stopLookAroundSound():void
{
lookAroundSoundChannel.stop();
}
//cat is looking around音乐播放完成
public static function lookAroundSoundComplete():void
{
if(lookAround.length == lookAroundSoundChannel.position)
{
SoundMgr.playLookAroundSound();
}
}
public static function stopAllSound():void
{
SoundMixer.stopAll();
/*stopBgSound();
stopMouseWalkSound();
stopPickUpSound();
stopChiliEateSound();
stopChiliEateSound();
stopLookAroundSound();*/
}
}
}