0

私は Flash がとても苦手で、これができません。PHPで生成されたプレイリストがあります。LoaderInfo() で取得し、split() でデータを配列に追加します。

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

これが問題です。次のようなコードを使用して、プレイリストから1曲を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);
}

、しかし、プレイリスト内のすべての曲をループ再生するコードを作成することはできません-最初、2番目など、最初...どうすればいいですか?

4

1 に答える 1

1

ローディング サウンドの配列を作成し、再生を開始するリストの最初 (0 番目) のサウンドに別のリスナーを配置します。その他のすべてのリスナーは、サウンドがロードされたことをプログラムに通知する別のリスナーを持つ必要があります。最初のサウンドの再生が開始されたら、リスナーを追加してchannel次の曲を選択し、利用可能な場合はそれを再生します。利用できない場合は、コードが最終的に読み込まれるまでフレームベースのループ (Event.ENTER_FRAME リスナーと 1 つのチェック) で待機し、プレイリストの再生を再開する必要があります。

于 2013-03-28T03:56:11.437 に答える