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

📄 player.as

📁 程序中所需要的播放列表文件以及音乐文件 我就不提供了,因为这些太好做了 这是一个工程,需要播放器版本为8以上的
💻 AS
📖 第 1 页 / 共 3 页
字号:
/*===================================================================================================================*/
//类名:			Player(,,,,,)
//-------------------------------------------------------------------------------------------------------------------
//功能:			创建可视化播放器,支持歌词同步显示
//-------------------------------------------------------------------------------------------------------------------
//版本:			1.0.0.1
//-------------------------------------------------------------------------------------------------------------------
//参数:			target:Object, __x:Number, __y:Number, _lyrics_width:Number, _lyrics_height:Number, __depth:Number
//-------------------------------------------------------------------------------------------------------------------
//参数说明:		=> target			-----	创建播放器的剪辑			示例: _root
//				=> __x				-----	播放器左上角X坐标			示例: 5
//				=> __y				-----	播放器左上角Y坐标			示例: 5
//				=> _lyrics_width	-----	歌词秀的宽度				示例: 320
//				=> _lyrics_height	-----	歌词秀的高度				示例: 300
//				=> __depth			-----	播放器的深度				示例: _root.getNextHighestDepth();
//-------------------------------------------------------------------------------------------------------------------
//类设计:		JohnNy EVEN
//-------------------------------------------------------------------------------------------------------------------
//备注:			x, y 坐标都相对于舞台左上角
/*===================================================================================================================*/
class is.userUI.player.Player {
	private var target_mc:Object;
	private var _lyrics_width:Number, _lyrics_height:Number, __x:Number, __y:Number, __depth:Number, playlist:String;
	private var startPoint:Number, endPoint:Number;
	private var listPos:Number;
	private var songPos:Number;
	private var song:Sound;
	private var lyrics_url:String;
	private var _lrc_xml:XML, _list_xml:XML;
	private var currentPlay:String;
	private var listTitle:Array;
	private var listURL:Array;
	private var decompressLyrics:Array;
	private var lyricsText:Array;
	private var lyricsTime:Array;
	public function Player(target:Object, __x:Number, __y:Number, _lyrics_width:Number, _lyrics_height:Number, __depth:Number, _playlist:String) {
		//------------------------------------------------------------------------------------
		//初始化变量、对象
		//------------------------------------------------------------------------------------
		var i, j;
		var lrcString:String;
		var tempText, tempTime, temp;
		this.currentPlay = "";
		this.listPos = 0;
		this.songPos = 0;
		this.song = new Sound();
		this._list_xml = new XML();
		this._lrc_xml = new XML();
		this.listTitle = new Array();
		this.listURL = new Array();
		this.decompressLyrics = new Array();
		this.lyricsText = new Array();
		this.lyricsTime = new Array();
		this.target_mc = target;
		this._lyrics_width = _lyrics_width;
		this._lyrics_height = _lyrics_height;
		this.target_mc = target;
		this.__x = __x;
		this.__y = __y;
		this.__depth = __depth;
		//------------------------------------------------------------------------------------
		//判断对象初始化时是否打开了默认的播放列表
		//------------------------------------------------------------------------------------
		if (_playlist == null) {
			this.playlist = null;
		} else {
			this.playlist = _playlist;
		}
		//------------------------------------------------------------------------------------
		//创建播放器、添加事件处理函数、载入播放列表
		//------------------------------------------------------------------------------------
		this.createPlayer();
		this.objAddEventProc();
		this.loadPlaylist(this.playlist);
	}
	public function createPlayer() {
		var thisObj:Object = this;
		/*--------------------------------------------------------------------------------------------*/
		/*-------------------------------------开始创建播放器主界面-------------------------------------*/
		/*---------------------------------------------------------------------------------------------*/
		var controlContainer, listContainer, lyricsContainer, maskContainer;
		this.target_mc.createEmptyMovieClip("player_control_container", this.__depth-3);
		controlContainer = this.target_mc.player_control_container;
		controlContainer._x = 0;
		controlContainer._y = 0;
		controlContainer.attachMovie("_player_control_bg", "_player_control_bg", getNextDepth(controlContainer));
		controlContainer._player_control_bg._x = this.__x;
		controlContainer._player_control_bg._y = this.__y;
		controlContainer.attachMovie("_info_mc", "_info_mc", getNextDepth(controlContainer));
		controlContainer._info_mc._x = controlContainer._player_control_bg._x+12;
		controlContainer._info_mc._y = controlContainer._player_control_bg._y+28;
		controlContainer.attachMovie("_control_panel_bg", "_control_panel_bg", getNextDepth(controlContainer));
		controlContainer._control_panel_bg._x = controlContainer._player_control_bg._x+8;
		controlContainer._control_panel_bg._y = controlContainer._player_control_bg._y+57;
		controlContainer.attachMovie("_btn_pause", "_btn_pause", getNextDepth(controlContainer));
		controlContainer._btn_pause._x = controlContainer._control_panel_bg._x+8;
		controlContainer._btn_pause._y = controlContainer._control_panel_bg._y+8.5;
		controlContainer.attachMovie("_btn_play", "_btn_play", getNextDepth(controlContainer));
		controlContainer._btn_play._x = controlContainer._control_panel_bg._x+8;
		controlContainer._btn_play._y = controlContainer._control_panel_bg._y+8.5;
		controlContainer.attachMovie("_btn_stop", "_btn_stop", getNextDepth(controlContainer));
		controlContainer._btn_stop._x = controlContainer._control_panel_bg._x+34;
		controlContainer._btn_stop._y = controlContainer._control_panel_bg._y+10;
		controlContainer.attachMovie("_btn_pre", "_btn_pre", getNextDepth(controlContainer));
		controlContainer._btn_pre._x = controlContainer._control_panel_bg._x+62.5;
		controlContainer._btn_pre._y = controlContainer._control_panel_bg._y+10;
		controlContainer.attachMovie("_btn_next", "_btn_next", getNextDepth(controlContainer));
		controlContainer._btn_next._x = controlContainer._control_panel_bg._x+84;
		controlContainer._btn_next._y = controlContainer._control_panel_bg._y+10;
		controlContainer.attachMovie("_control_panel_set_bg", "_control_panel_set_bg0", getNextDepth(controlContainer));
		controlContainer._control_panel_set_bg0._x = controlContainer._player_control_bg._x+122;
		controlContainer._control_panel_set_bg0._y = controlContainer._player_control_bg._y+80;
		controlContainer.attachMovie("_control_panel_set_bg", "_control_panel_set_bg1", getNextDepth(controlContainer));
		controlContainer._control_panel_set_bg1._x = controlContainer._player_control_bg._x+193;
		controlContainer._control_panel_set_bg1._y = controlContainer._player_control_bg._y+80;
		controlContainer.attachMovie("_btn_panel_set", "_btn_panel_set0", getNextDepth(controlContainer));
		controlContainer._btn_panel_set0._x = controlContainer._control_panel_set_bg0._x+controlContainer._control_panel_set_bg0._width-controlContainer._btn_panel_set0._width;
		controlContainer._btn_panel_set0._y = controlContainer._control_panel_set_bg0._y-1;
		controlContainer.attachMovie("_btn_panel_set", "_btn_panel_set1", getNextDepth(controlContainer));
		controlContainer._btn_panel_set1._x = (controlContainer._control_panel_set_bg1._width/2+controlContainer._control_panel_set_bg1._x)-(controlContainer._btn_panel_set1._width/2);
		controlContainer._btn_panel_set1._y = controlContainer._control_panel_set_bg1._y-1;
		controlContainer.attachMovie("_loopstatu_mc", "_loopstatu_mc", getNextDepth(controlContainer));
		controlContainer._loopstatu_mc._x = controlContainer._player_control_bg._x+220;
		controlContainer._loopstatu_mc._y = controlContainer._player_control_bg._y+15;
		controlContainer.attachMovie("_player_time_mc", "_player_time_mc", getNextDepth(controlContainer));
		controlContainer._player_time_mc._x = controlContainer._player_control_bg._x+205;
		controlContainer._player_time_mc._y = controlContainer._player_control_bg._y+25;
		controlContainer._player_time_mc.onEnterFrame = function() {
			this.txt.text = thisObj.convertToString(thisObj.song.position/1000);
		};
		/*---------------------------------------------------------------------------------------------*/
		/*-------------------------------------播放器主界面创建完成--------------------------------------*/
		/*----------------------------------------------------------------------------------------------*/
		//
		//
		/*---------------------------------------------------------------------------------------------*/
		/*------------------------------------开始初始化歌曲列表界面-------------------------------------*/
		/*----------------------------------------------------------------------------------------------*/
		this.target_mc.createEmptyMovieClip("player_list_container", this.__depth-4);
		listContainer = this.target_mc.player_list_container;
		listContainer.attachMovie("_player_list_bg", "_player_list_bg", 2);
		listContainer._player_list_bg._x = this.__x;
		listContainer._player_list_bg._y = this.__y+105;
		listContainer.attachMovie("_player_list__bg", "_player_list__bg", 0);
		listContainer._player_list__bg._x = listContainer._player_list_bg._x+5;
		listContainer._player_list__bg._y = listContainer._player_list_bg._y+10;
		listContainer.attachMovie("_scrollbar_bg", "_scrollbar_bg", 3);
		listContainer._scrollbar_bg._x = listContainer._player_list_bg._x+215;
		listContainer._scrollbar_bg._y = listContainer._player_list_bg._y+24;
		listContainer.attachMovie("_btn_scrollbar_mc", "_btn_scrollbar_mc", 4);
		listContainer._btn_scrollbar_mc._x = listContainer._scrollbar_bg._x-1;
		listContainer._btn_scrollbar_mc._y = listContainer._scrollbar_bg._y;
		listContainer.attachMovie("_btn_openlist", "_btn_openlist", 5);
		listContainer._btn_openlist._x = listContainer._player_list_bg._x+225;
		listContainer._btn_openlist._y = listContainer._player_list_bg._y+27;
		listContainer.attachMovie("_btn_add", "_btn_add", 6);
		listContainer._btn_add._x = listContainer._player_list_bg._x+225;
		listContainer._btn_add._y = listContainer._player_list_bg._y+50;
		/*---------------------------------------------------------------------------------------------*/
		/*------------------------------------初始化歌曲列表界面完成-------------------------------------*/
		/*----------------------------------------------------------------------------------------------*/
		//
		//
		/*---------------------------------------------------------------------------------------------*/
		/*-------------------------------------开始初始化歌词秀界面--------------------------------------*/
		/*----------------------------------------------------------------------------------------------*/
		this.target_mc.createEmptyMovieClip("player_lyrics_container", this.__depth-5);
		lyricsContainer = this.target_mc.player_lyrics_container;
		lyricsContainer.attachMovie("_player_lyrics__bg", "_player_lyrics__bg", 0);
		lyricsContainer._player_lyrics__bg._x = this.__x+277;
		lyricsContainer._player_lyrics__bg._y = this.__y+5;
		lyricsContainer.attachMovie("_player_lyrics_bg", "_player_lyrics_bg", 2);
		lyricsContainer._player_lyrics_bg._x = lyricsContainer._player_lyrics__bg._x-3;
		lyricsContainer._player_lyrics_bg._y = lyricsContainer._player_lyrics__bg._y-5;
		/*---------------------------------------------------------------------------------------------*/
		/*-------------------------------------初始化歌词秀界面完成--------------------------------------*/
		/*----------------------------------------------------------------------------------------------*/
		//
		//
		/*---------------------------------------------------------------------------------------------*/
		/*--------------------------------------开始创建遮罩层界面---------------------------------------*/
		/*----------------------------------------------------------------------------------------------*/
		this.target_mc.createEmptyMovieClip("player_mask_container", this.__depth-2);
		maskContainer = this.target_mc.player_mask_container;
		maskContainer.attachMovie("_mask_control_top", "_mask_control_top", getNextDepth(maskContainer));
		maskContainer._mask_control_top._x = controlContainer._player_control_bg._x;
		maskContainer._mask_control_top._y = controlContainer._player_control_bg._y-maskContainer._mask_control_top._height+6.5;
		maskContainer.attachMovie("_mask_control_middle", "_mask_control_middle", getNextDepth(maskContainer));
		maskContainer._mask_control_middle._x = controlContainer._player_control_bg._x;
		maskContainer._mask_control_middle._y = controlContainer._player_control_bg._y+controlContainer._player_control_bg._height-7.2;
		maskContainer.attachMovie("_mask_list_bottom", "_mask_list_bottom", getNextDepth(maskContainer));
		maskContainer._mask_list_bottom._x = listContainer._player_list_bg._x;
		maskContainer._mask_list_bottom._y = listContainer._player_list_bg._y+listContainer._player_list_bg._height-7;
		maskContainer.attachMovie("_mask_lyrics_top", "_mask_lyrics_top", getNextDepth(maskContainer));
		maskContainer._mask_lyrics_top._x = lyricsContainer._player_lyrics_bg._x;
		maskContainer._mask_lyrics_top._y = lyricsContainer._player_lyrics_bg._y-maskContainer._mask_lyrics_top._height+6.5;
		maskContainer.attachMovie("_mask_lyrics_bottom", "_mask_lyrics_bottom", getNextDepth(maskContainer));
		maskContainer._mask_lyrics_bottom._x = lyricsContainer._player_lyrics_bg._x;
		maskContainer._mask_lyrics_bottom._y = lyricsContainer._player_lyrics_bg._y+lyricsContainer._player_lyrics_bg._height-7;
		/*---------------------------------------------------------------------------------------------*/
		/*--------------------------------------创建遮罩层界面完成---------------------------------------*/
		/*----------------------------------------------------------------------------------------------*/
	}
	public function objAddEventProc() {
		/*----------创建对当前类的本地引用-----------*/
		var thisObj:Object = this;
		/*------------------------------------------*/
		var volumeDrag:Boolean = false;
		var panDrag:Boolean = false;
		var listDrag:Boolean = false;
		var controlContainer = this.target_mc.player_control_container;
		var listContainer = this.target_mc.player_list_container;
		//------------------------------------------------------------------------------------
		//播放按钮 单击 处理函数
		//------------------------------------------------------------------------------------
		controlContainer._btn_play.onRelease = function() {
			thisObj.song.start(thisObj.songPos/1000, 1);
			controlContainer._btn_play._visible = 0;
			controlContainer._btn_pause._visible = 1;
		};
		//------------------------------------------------------------------------------------
		//暂停按钮 单击 处理函数
		//------------------------------------------------------------------------------------
		controlContainer._btn_pause.onRelease = function() {
			thisObj.songPos = thisObj.song.position;
			thisObj.song.stop();
			controlContainer._btn_play._visible = 1;
			controlContainer._btn_pause._visible = 0;
		};
		//------------------------------------------------------------------------------------
		//停止按钮 单击 处理函数
		//------------------------------------------------------------------------------------
		controlContainer._btn_stop.onRelease = function() {
			thisObj.songPos = 0;
			controlContainer._btn_play._visible = 1;
			thisObj.song.start(0, 1);
			thisObj.song.stop();
		};
		//------------------------------------------------------------------------------------
		//音量控制MC 鼠标移进 处理函数
		//------------------------------------------------------------------------------------
		controlContainer._btn_panel_set0.onRollOver = function() {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -