📄 player.as
字号:
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 + -