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

📄 player.as

📁 程序中所需要的播放列表文件以及音乐文件 我就不提供了,因为这些太好做了 这是一个工程,需要播放器版本为8以上的
💻 AS
📖 第 1 页 / 共 3 页
字号:
		var originArray:Array = new Array();
		var tempArray:Array = new Array();
		var tmp:String;
		/*---------------------------清空数组以便于下次读写----------------------------*/
		this.listTitle = this.listTitle.slice(2, 1);
		this.listURL = this.listURL.slice(2, 1);
		/*----------------------------------------------------------------------------*/
		listString = this._list_xml.toString();
		originArray = listString.split("#EXTINF:");
		for (i in originArray) {
			if (originArray[i] == "\r") {
				originArray.splice(i, 1);
			}
		}
		originArray.sort();
		for (i in originArray) {
			tempArray = originArray[i].split("\r\n");
			this.listTitle.push(tempArray[0]);
			this.listURL.push(tempArray[1]);
		}
		this.listTitle.reverse();
		this.listURL.reverse();
		for (i in this.listTitle) {
			if (this.listTitle[i] == "#EXTM3U") {
				this.listTitle.splice(i, 1);
				break;
			}
		}
		for (i in this.listURL) {
			if (this.listURL[i] == "") {
				this.listURL.splice(i, 1);
			}
		}
	}
	public function createPlaylistBox() {
		var i;
		var thisObj:Object = this;
		var listContainer = this.target_mc.player_list_container;
		listContainer._list_mc.removeMovieClip();
		listContainer.createEmptyMovieClip("_list_mc", 1);
		listContainer._list_mc._x = listContainer._player_list__bg._x+6;
		listContainer._list_mc._y = listContainer._player_list__bg._y+14;
		this.listPos = listContainer._list_mc._y;
		listContainer._list_mc.attachMovie("_list_text", "_list_text", 0);
		listContainer._list_mc._list_text._visible = 0;
		for (i=0; i<this.listTitle.length; i++) {
			listContainer._list_mc._list_text.duplicateMovieClip("_list_text"+i, getNextDepth(listContainer._list_mc));
			listContainer._list_mc["_list_text"+i].txt.text = this.listTitle[i];
			if (i == 0) {
				listContainer._list_mc._list_text0._y = 0;
			} else {
				listContainer._list_mc["_list_text"+i]._y = listContainer._list_mc["_list_text"+(i-1)]._y+16;
			}
			listContainer._list_mc._list_text0._x = 0;
			listContainer._list_mc["_list_text"+i].onRelease = function() {
				var j;
				var playlistTitle = this.txt.text;
				for (j in thisObj.listTitle) {
					if (thisObj.listTitle[j] == playlistTitle) {
						thisObj.song.loadSound(thisObj.listURL[j], true);
						thisObj.lyrics_url = thisObj.listURL[j].slice(0, -4)+".lrc";
						thisObj.target_mc.player_control_container._btn_play._visible = 0;
						thisObj.target_mc.player_control_container._btn_pause._visible = 1;
					}
				}
			};
		}
	}
	public function convertToTime(str) {
		var timeArray = new Array();
		var i;
		timeArray = str.split(":");
		return parseFloat(timeArray[0])*60.0+parseFloat(timeArray[1]);
	}
	public function convertToString(num):String {
		if (!isNaN(num)) {
			var txtMinutes:String, numMinutes:Number;
			var txtSeconds:String, numSeconds:Number;
			numMinutes = Math.floor(num/60);
			if (numMinutes<10) {
				txtMinutes = "0"+numMinutes.toString();
			} else {
				txtMinutes = numMinutes.toString();
			}
			numSeconds = Math.floor(num)-Math.floor(num/60)*60;
			if (numSeconds<10) {
				txtSeconds = "0"+numSeconds.toString();
			} else {
				txtSeconds = numSeconds.toString();
			}
			return txtMinutes+":"+txtSeconds;
		} else {
			return "00:00";
		}
	}
	public function createLyricsBox() {
		var i;
		var thisObj:Object = this;
		var lyricsContainer, maskContainer;
		lyricsContainer = this.target_mc.player_lyrics_container;
		//移除上次播放时创建的歌词
		lyricsContainer._lyrics_mc.removeMovieClip();
		//-----------------------------------------------------------------------------------------------------------
		//重建歌词显示
		//-----------------------------------------------------------------------------------------------------------
		lyricsContainer.createEmptyMovieClip("_lyrics_mc", 1);
		lyricsContainer._lyrics_mc._x = lyricsContainer._player_lyrics__bg._x-3;
		lyricsContainer._lyrics_mc._y = Stage.height;
		lyricsContainer._lyrics_mc.attachMovie("_lyrics_text", "_lyrics_text", 0);
		lyricsContainer._lyrics_mc._lyrics_text._visible = 0;
		for (i=0; i<this.lyricsText.length; i++) {
			lyricsContainer._lyrics_mc._lyrics_text.duplicateMovieClip("_lyrics_text"+i, getNextDepth(lyricsContainer._lyrics_mc));
			lyricsContainer._lyrics_mc["_lyrics_text"+i]._lyrics.text = this.lyricsText[i];
			if (i == 0) {
				lyricsContainer._lyrics_mc._lyrics_text0._y = 0;
			} else {
				lyricsContainer._lyrics_mc["_lyrics_text"+i]._y = lyricsContainer._lyrics_mc["_lyrics_text"+(i-1)]._y+16;
			}
			lyricsContainer._lyrics_mc["_lyrics_text"+i]._width = this._lyrics_width;
			lyricsContainer._lyrics_mc["_lyrics_text"+i]._x = 0;
		}
		//-----------------------------------------------------------------------------------------------------------
		//添加事件处理函数
		//-----------------------------------------------------------------------------------------------------------
		lyricsContainer._lyrics_mc.onEnterFrame = function() {
			thisObj.moveLyricsBox(thisObj.song.position, this.startPoint, this.endPoint);
		};
	}
	public function moveLyricsBox(currentPos, startPoint, endPoint) {
		var i;
		var _current_y;
		var currentPoint;
		var _deltaTime, _s, _v;
		for (i=this.startPoint; i<this.endPoint; i++) {
			if (i == this.endPoint) {
				currentPoint = i;
				break;
			}
			if (currentPos<=this.lyricsTime[i]*1000) {
				currentPoint = i-1;
				break;
			}
		}
		_current_y = Math.floor(this._lyrics_height/2)-(currentPoint+1)*16;
		if (currentPoint == 0) {
			_deltaTime = this.lyricsTime[0];
			this.target_mc.player_lyrics_container._lyrics_mc._lyrics_text0.gotoAndStop(2);
		} else if (currentPoint == -1) {
			_deltaTime = this.lyricsTime[0];
		} else {
			_deltaTime = this.lyricsTime[currentPoint]-this.lyricsTime[currentPoint-1];
			this.target_mc.player_lyrics_container._lyrics_mc["_lyrics_text"+currentPoint].gotoAndStop(2);
			this.target_mc.player_lyrics_container._lyrics_mc["_lyrics_text"+(currentPoint-1)].gotoAndStop(1);
		}
		_s = this.target_mc.player_lyrics_container._lyrics_mc._y-_current_y;
		_v = _s/_deltaTime;
		this.target_mc.player_lyrics_container._lyrics_mc._y -= _v;
	}
	public function createOpenBox(Action:String) {
		var thisObj:Object = this;
		var infoContainer;
		this.createMaskLayer("show", thisObj.__depth-1);
		this.target_mc.createEmptyMovieClip("_info_mc", thisObj.__depth);
		infoContainer = this.target_mc._info_mc;
		infoContainer.attachMovie("_player_openlist_bg", "_player_openlist_bg", 0);
		infoContainer._player_openlist_bg._x = (Stage.width/2)-(infoContainer._player_openlist_bg._width/2);
		infoContainer._player_openlist_bg._y = (Stage.height/2)-(infoContainer._player_openlist_bg._height/2);
		if (Action == "open") {
			infoContainer.attachMovie("_tips_mc", "_tips_mc", 1);
			infoContainer._tips_mc.txt.text = "请输入您要打开的m3u文件的完整url:";
			infoContainer._tips_mc._x = infoContainer._player_openlist_bg._x+((infoContainer._player_openlist_bg._width/2)-(infoContainer._tips_mc._width/2));
			infoContainer._tips_mc._y = infoContainer._player_openlist_bg._y+50;
			infoContainer.attachMovie("_input_url", "_input_url", 2);
			infoContainer._input_url._x = infoContainer._tips_mc._x;
			infoContainer._input_url._y = infoContainer._tips_mc._y+35;
		} else {
			infoContainer.attachMovie("_tips_mc", "_tips1_mc", 1);
			infoContainer._tips1_mc.txt.text = "请输入您要追加的文件的完整url:";
			infoContainer._tips1_mc._x = infoContainer._player_openlist_bg._x+((infoContainer._player_openlist_bg._width/2)-(infoContainer._tips1_mc._width/2));
			infoContainer._tips1_mc._y = infoContainer._player_openlist_bg._y+40;
			infoContainer.attachMovie("_input_url", "_input_title", 2);
			infoContainer._input_title._x = infoContainer._tips1_mc._x;
			infoContainer._input_title._y = infoContainer._player_openlist_bg._y+60;
			infoContainer.attachMovie("_tips_mc", "_tips2_mc", 3);
			infoContainer._tips2_mc.txt.text = "请输入您要追加的文件的标题:";
			infoContainer._tips2_mc._x = infoContainer._player_openlist_bg._x+((infoContainer._player_openlist_bg._width/2)-(infoContainer._tips2_mc._width/2));
			infoContainer._tips2_mc._y = infoContainer._player_openlist_bg._y+80;
			infoContainer.attachMovie("_input_url", "_input_url", 4);
			infoContainer._input_url._x = infoContainer._tips2_mc._x;
			infoContainer._input_url._y = infoContainer._player_openlist_bg._y+100;
		}
		infoContainer.attachMovie("_btn_cancel", "_btn_cancel", 5);
		infoContainer._btn_cancel._x = infoContainer._input_url._width-infoContainer._btn_cancel._width+infoContainer._input_url._x;
		infoContainer._btn_cancel._y = infoContainer._player_openlist_bg._y+140;
		infoContainer.attachMovie("_btn_open", "_btn_open", 6);
		infoContainer._btn_open._x = infoContainer._btn_cancel._x-infoContainer._btn_open._width-20;
		infoContainer._btn_open._y = infoContainer._player_openlist_bg._y+140;
		infoContainer._btn_open.onRelease = function() {
			if (infoContainer._input_url.txt.text != "") {
				if (Action == "open") {
					thisObj.loadPlaylist(infoContainer._input_url.txt.text);
				} else {
					thisObj.listURL.push(infoContainer._input_url.txt.text);
					thisObj.listTitle.push(infoContainer._input_title.txt.text);
					thisObj.createPlaylistBox();
				}
				infoContainer.removeMovieClip();
				thisObj.createMaskLayer("hide");
			}
		};
		infoContainer._btn_cancel.onRelease = function() {
			infoContainer.removeMovieClip();
			thisObj.createMaskLayer("hide");
		};
	}
	public function createMaskLayer(Action:String, _depth:Number) {
		if (Action == "show") {
			this.target_mc.attachMovie("_mask", "_mask", _depth);
			this.target_mc._mask._x = 0;
			this.target_mc._mask._y = 0;
			this.target_mc._mask._width = Stage.width;
			this.target_mc._mask._height = Stage.height;
			this.target_mc._mask.enabled = false;
		} else {
			this.target_mc._mask._visible = 0;
		}
	}
	//
	//
	/*
	public function get _startPoint():Number {
	return this.startPoint;
	}
	public function get _endPoint():Number {
	return this.endPoint;
	}
	*/
	//
	//
}

⌨️ 快捷键说明

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