package com.lzxt{ //导入包 import flash.display.Sprite; import flash.events.*; import flash.media.Sound; import flash.media.SoundChannel; import flash.net.URLRequest; import flash.text.TextField; //创建文档类 public class SoundControl extends Sprite { //定义属性 //定义要加载的文件路径,注意,此路径要相对于SWF文件的目录 private var url:String="nobody.mp3"; //定义Sound类实例 private var mysound:Sound; //创建声音通道 private var song:SoundChannel; //定义三个按钮 private var btn_play:Sprite; private var btn_stop:Sprite; private var btn_zt:Sprite; //定义一个数字变量,用于记录声音指针位置 private var po:Number=0; //构造函数 public function SoundControl() { //创建URL连接 var request:URLRequest=new URLRequest(url); //创建Sound类实例 mysound=new Sound(); //加载文件 mysound.load(request); //初始化按钮 initBtn(); } //创建三个按钮 private function initBtn():void { btn_play=CreatBtn("播放"); addChild(btn_play); btn_play.x=100; btn_play.y=150; //注册播放按钮单击事件 btn_play.addEventListener(MouseEvent.CLICK,playsound); btn_stop=CreatBtn("停止"); addChild(btn_stop); btn_stop.x=260; btn_stop.y=150; //注册停止按钮单击事件 btn_stop.addEventListener(MouseEvent.CLICK,stopsound); btn_zt=CreatBtn("暂停"); addChild(btn_zt); btn_zt.x=180; btn_zt.y=150; //注册暂停按钮单击事件 btn_zt.addEventListener(MouseEvent.CLICK,ztsound); } //创建开始播放事件侦听函数 private function playsound(event:MouseEvent):void { //单击播放按钮,开始播放,播放的起始位置取决于声音指针位置 song=mysound.play(po); } //创建停止播放事件侦听函数 private function stopsound(event:MouseEvent):void { //单击停止按钮,停止播放,声音指针指向声音文件头部 po=0; song.stop(); } //创建暂停事件侦听函数 private function ztsound(event:MouseEvent):void { //获取当前的声音指针位置 po=song.position; //单击停止按钮,停止播放 song.stop(); } //创建按钮对象 private function CreatBtn(_label:String):Sprite { var sp:Sprite=new Sprite(); sp.graphics.beginFill(0xEDEDED); sp.graphics.drawRect(0,0,50,20); sp.graphics.endFill(); sp.buttonMode=true; var label:TextField=new TextField(); label.text=_label; label.x=10; label.width=30; label.selectable=false; sp.addChild(label); return sp; } } }