⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 playlist.as

📁 flash cs3 实现的播放器 有几个类可以好好的利用起来
💻 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 + -