WEB开发网
开发学院图形图像Flash Mp3 Player 阅读

Mp3 Player

 2009-05-30 12:07:53 来源:WEB开发网   
核心提示: 首先使用 URLLoader 读取外部 musicList.xml 文件,读取成功后调用 initSoundList,Mp3 Player(3),将 xml 的包装成一个 DataProvider 对象赋给 music_list.dataProvider,音乐列表初始化完成,拿到这个对象就

首先使用 URLLoader 读取外部 musicList.xml 文件。读取成功后调用 initSoundList,将 xml 的包装成一个 DataProvider 对象赋给 music_list.dataProvider。音乐列表初始化完成。

下面加入一个侦听器,当鼠标点击了列表中的某一项时,会触发 Event.CHANGE 事件,调用 changeSound 函数,这里我们只为了测试,打印出相应的 url 属性,接下来要在这个函数中实现音乐的播放。

三、播放音乐

要想在 flash 中播放音乐,非常简单:

    sound = new Sound(new URLRequest(url));
    sound.play();

现在 url 已经得到了,在 changeSound 方法中直接加入这两句(别忘了导入 import flash.media.Sound 类):

    private function changeSound(evt:Event):void {
        var url:String = ComboBox(evt.target).selectedItem.url;
        var sound:Sound = new Sound(new URLRequest(url));
        sound.play();
    }

OK,这样就可以点播了。但是当我们切换音乐时,两个会同时播放,这显然不对。那么就应该在切换时判断一下,是否已经有音乐在播放,如果有就把之前的声音关掉,再播放当前选中的音乐。

在 AS 3 中,Sound 类只负责加载和播放,声道控制和停止播放声音由 SoundChannel 类负责。获得 SoundChannel 对象的方法也比较特殊,并不是像平常一样 new 一个对象出来。而是在 Sound 对象调用 play() 方法时作为返回值,返回一个 SoundChannel 对象,拿到这个对象就可以控制当前 Sound 对象的音量或关闭声音了。由于我们每次都只播放一个 Sound,所以 SoundChannel 对象也只需要一个,把它作为一个成员变量(别忘了导入 import flash.media.SoundChannel):

上一页  1 2 3 4 5 6  下一页

Tags:Mp Player

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接