0

我对 Flash 很不好,我就是不能这样做。我有 php 生成的播放列表。我用 LoaderInfo() 得到它,然后用 split() 将数据添加到数组中。

var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
var str:String = paramObj.playlist;
var array:Array = str.split(",");

这是问题所在。我知道如何从播放列表中播放 1 首歌曲,一次或在循环中使用如下代码:

sound.addEventListener(Event.COMPLETE, onLoadComplete, false, 0,
true);
function onLoadComplete(evt:Event):void {
channel = sound.play();
var pauseSong:Number = channel.position; 
    channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
}
function soundCompleteHandler(e:Event):void {

channel = sound.play();
channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
}

,但我不能使代码循环播放播放列表中的所有歌曲 - 第一,第二等,首先......如何做到这一点?

4

1 回答 1

1

您制作了一组加载声音,将一个单独的侦听器放在列表的第一个(第 0 个)声音上,该声音将启动播放,所有其他声音都应该有另一个侦听器,它只会通知您的程序声音已加载。一旦第一个声音开始播放,您添加一个听众channel,它将选择下一首歌曲并播放它(如果可用)。如果它不可用,您的代码应在基于帧的循环中等待(Event.ENTER_FRAME 侦听器进行一次检查),直到它最终加载,并恢复播放列表播放。

于 2013-03-28T03:56:11.437 回答