文王武帅

sound

      sound类在 flash3.0中算是很常见的功能,也是很常用的,下面 简单的运用了 sound类,加载了一首歌,控制 播放 暂停 停止,和控制音量大小;

package  {
	
	import flash.display.MovieClip;
	import fl.controls.*;
	import flash.media.Sound;
	import flash.net.URLRequest;
	import flash.media.SoundChannel;
	import flash.events.MouseEvent;
	import flash.media.SoundTransform;
	import fl.events.SliderEvent;
	
	
	public class SoundMain extends MovieClip {
		//定义三个按钮,分别是:播放、暂时、停止
		private var play_btn:Button=new Button();
		private var suspend_btn:Button=new Button();
		private var stop_btn:Button=new Button();
		//定义一个slider组件,控制声音的大小;
		private var controlVolume:Slider=new Slider();
		//定义sound的三个类,分别是;声音,声音控制,声音音量
		private var sound:Sound=new Sound();
		private var soundchannel:SoundChannel=new SoundChannel();
		private var soundtransform:SoundTransform=new SoundTransform();
		//定义一个数;初始化声音播放的位置为0
		private var position:Number=0;
		
		public function SoundMain(){
			//加载声音
			sound.load(new URLRequest('00.mp3'));
			//对三个按钮的 设置
			play_btn.label='播放';
			play_btn.x=10;
			play_btn.y=260;
			play_btn.width=40;
			addChild(play_btn);
			suspend_btn.label='暂停';
			suspend_btn.x=50;
			suspend_btn.y=260;
			suspend_btn.width=40;
			addChild(suspend_btn);
			stop_btn.label='停止';
			stop_btn.x=90;
			stop_btn.y=260;
			stop_btn.width=40;
			addChild(stop_btn);
			//对slider的设置
			controlVolume.x=140;
			controlVolume.y=270;
			addChild(controlVolume);
			//给三个按钮 加上单击事件
			play_btn.addEventListener(MouseEvent.CLICK,onPlayHandler);
			suspend_btn.addEventListener(MouseEvent.CLICK,onSuspendHandler);
			stop_btn.addEventListener(MouseEvent.CLICK,onStopHandler);
			//初始化声音的大小
			controlVolume.value = 5;
                        soundtransform.volume = controlVolume.value *0.1;
                        soundchannel.soundTransform = soundtransform;
			//给slider加事件
			controlVolume.addEventListener(SliderEvent.CHANGE,onControlVolume);

	    }
		private function onPlayHandler(e:MouseEvent):void{
			soundchannel=sound.play(position);
			
		}
		private function onSuspendHandler(e:MouseEvent):void{
			position=soundchannel.position;
			soundchannel.stop();
			
		}
		private function onStopHandler(e:MouseEvent):void{
			position=0;
			soundchannel.stop();
			
		}
		private function onControlVolume(e:SliderEvent):void{
			soundtransform.volume = (e.target.value)*0.1;
	                soundchannel.soundTransform = soundtransform;
			
		}
	}
	
}

  

  

posted on 2012-10-19 22:25  文王武帅  阅读(277)  评论(1)    收藏  举报

导航