?? playlist.as
字號:
?package com.ninemoon{
import flash.display.*;
import flash.net.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import com.ninemoon.ListItem;
import com.ninemoon.Main;
public class PlayList extends Sprite {
private static var _instance:PlayList;
private var xml:XML;
private var _xml_loader:URLLoader;
private var _list_array:Array;
private var _listItem_array:Array;
private var _index:uint;
private var _rectX:uint=1;
private var _rectY:uint=1;
private var _playState:String="order";
public var list_item_now:ListItem;
public function PlayList() {
aa_btn.addEventListener(MouseEvent.CLICK,onaa);
repeat_btn.addEventListener(MouseEvent.CLICK,onState);
random_btn.addEventListener(MouseEvent.CLICK,onState);
order_btn.addEventListener(MouseEvent.CLICK,onState);
init();
}
private function onState(event:MouseEvent):void {
switch (event.currentTarget) {
case repeat_btn :
_playState="repeat";
break;
case order_btn :
_playState="order";
break;
case random_btn :
_playState="random";
}
trace(_playState);
}
public static function getInstance():PlayList {
if (PlayList._instance==null) {
PlayList._instance=new PlayList();
trace("PlayList 已經實例化,僅此一次");
}
return PlayList._instance;
}
public function setIndex(num:uint):void {
_index=num;
}
public function getIndex():uint {
return _index;
}
private function init():void {
_xml_loader=new URLLoader();
_xml_loader.load(new URLRequest("playlist.xml"));
_xml_loader.addEventListener(Event.COMPLETE,onCp);
}
private function onCp(event:Event):void {
xml=new XML(event.target.data);
_list_array=new Array();
_listItem_array=new Array();
var i:uint=0;
for each (var node:XML in xml.elements()) {
_list_array.push(node.@url);
var list_item:ListItem=new ListItem(i++,node.@name);
_listItem_array.push(list_item);
addChild(list_item);
list_item.x=_rectX;
list_item.y=_rectY;
_rectY+=15;
}
soundManage(0);
}
public function soundManage(_id:uint):void {
if (Main.sc!=null) {
Main.sc.stop();
}
_index=_id;
_listItem_array[_index].removeEvent();
list_item_now=_listItem_array[_index];
Main.sound=new Sound();
Main.sc=new SoundChannel();
Main.sound.load(new URLRequest(_list_array[_index]));
Main.sc=Main.sound.play();
Main.sc.addEventListener(Event.SOUND_COMPLETE,onSoundCp);
Main.timer.start();
trace("現在的index是:"+_index);
}
public function playplay(num:int):void{
Main.sc=Main.sound.play(num);
trace("playplay")
Main.sc.addEventListener(Event.SOUND_COMPLETE,onSoundCp);
}
public function onSoundCp(event:Event):void {
trace(_index);
trace("next-----------------------------------one");
list_item_now.addEvent();
switch (_playState) {
case "order" :
_index>_list_array.length-2?_index=0:_index++;
break;
case "repeat" :
_index=_index;
break;
case "random" :
_index=Math.floor(Math.random()*_list_array.length-1);
break;
}
trace(_index);
soundManage(_index);
}
private function onaa(event:MouseEvent):void {
Main.showall(stage);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -