<p>要做MP3要想下要想要的功能在开始初始化类</p><p>MP3的功能当然是先
1加载歌曲
2播放
3暂定 停止 播放
4上一首下一首
5播放顺序
6加载条,播放块
7音量
8播放列表</p><p>我们就分着8节开始讲</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>
说到加载歌曲我们首先要用到类分别是 URLRequest (加载) Sound(声音)
这个类名是 MusicPlay
package{</p><p>先把这2个类导入进来才可以用,因为他们不是顶级类 必须先导入</p><p>import flash.net.URLRequest;
import flash.media.* 因为我们基本要使用里面大部分类 就导入整个包</p><p>private var shengyin:Sound //新建立个声音对象</p><p>punction function jiazai(url:String):void{ 这个函数提供歌曲加载功能</p><p>shengyin = new Sound() ; 初始化</p><p>shengyin.load(new URLRequest(url));开始加载</p><p>shengyin.addEventListener(Event.COMPLE,loadOK);当加载成功时候的事件</p><p>shengyin.play(); 开始加载了就能播放</p><p>}</p><p>}</p><p>在MXML文件运用</p><p>先导入,他们是在同一个包里 也可以不用导入</p><p>import MusicPlay;</p><p>private var plays:MuiscPlay = nw MusicPlay();实例化歌曲类</p><p>plays.jiazai("1.mp3");运行我们自定义类里的函数</p><p>所谓声音控制也就是 暂定 停止 播放

大家看下面一段代码

跟上一节一样我们就写在那个类里面所以代码我就不重心建类 在第一节那个原有的类里写代码

我们在做暂定 停止 播放前 需要一个变量来保存当前状态是播放状态还是停止状态,在播放状态下可以按停

止和暂定,在没播放状态下可以按播放按钮

private var bofang:Boolean = false;//初始化FALSE

private var weizhi:Number; //记录暂定的时间 然后播放从暂停位置开始播放

private var sy:Sound = new Sound();

private var sykz:SoundChanle = new SoundChanle();

//播放

public function plays():void{

if(!bofang){//如果歌曲不在播放状态下 才可以点击播放

sykz.stop();//在播放前停止所有声音。

sykz = sy.play(weizhi); //从暂停位置开始播放

bofang = true; 当前播放状态所以为true;

}
}

public function zanting():void{

if(bofang){ //当声音状态在播放情况下可以暂停和 停止

sykz.stop(); //在操作前先把声音STOP

weizhi = sykz.position; //记录声音在停止前播放的字节

bofang = false; //赞暂停后 声音状态自然就设置为FLASE

}

}
public function stop():void{

if(bofang){ 当声音在播放状态可以停止和播放

sykz.stop(); 一样先把声音停止

weizhi = 0; 既然停止了 一切都为0 当然是从新开始播放 设置为0是正确的

bofang = false; 一样停止了,当然播放状态就为FLASHE

}

}



好了想测试下很简单

就比如一个组件

<mx:Button id="btn" click = "danji">

private function danji():void{

MusicPlay.plays()

}</p>