外部文档类: package com.lzxt{ //导入包 import flash.display.Sprite; import flash.events.*; import flash.media.Sound; import flash.media.SoundChannel; import flash.net.URLRequest; //创建文档类 public class SoundExample extends Sprite { //定义属性 //定义要加载的文件路径,注意,此路径要相对于SWF文件的目录 private var url:String="./nobody.mp3"; //创建Sound类实例 private var mysound:Sound=new Sound ; //构造函数 public function SoundExample() { //创建URL连接 var request:URLRequest=new URLRequest(url); //注册加载开始事件 mysound.addEventListener(Event.OPEN,openHandler); //注册加载完成事件 mysound.addEventListener(Event.COMPLETE,completeHandler); //注册ID3事件 mysound.addEventListener(Event.ID3,id3Handler); //注册加载错误事件 mysound.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler); //注册加载进度事件 mysound.addEventListener(ProgressEvent.PROGRESS,progressHandler); //加载文件 mysound.load(request); } //创建加载开始事件处理函数 private function openHandler(event:Event):void { trace("加载开始"); } //创建加载完成事件侦听函数 private function completeHandler(event:Event):void { trace("加载完成"); //加载完成,开始播放 mysound.play(); } //创建ID3事件处理函数 private function id3Handler(event:Event):void { trace("ID3事件为:" + event); } //加载错误事件处理函数 private function ioErrorHandler(event:Event):void { trace("加载出现错误!"); } //加载进度事件处理函数 private function progressHandler(event:ProgressEvent):void { //计算加载进度 var per:uint=Math.round(100 * event.bytesLoaded / event.bytesTotal); trace("当前有" + per + "% 声音文件被加载"); } } }