flash播放器的as
来源:百度文库 编辑:神马文学网 时间:2024/04/23 20:28:29
flash播放器的as
System.useCodepage = true; //避免乱码var lrcData:Array = new Array();// 定义一个存放歌词元素的数组
var music_xml:XML=new XML(); //定义xml对象
var music:Array=new Array(); //定义一个数组对象,实质上是一个对象数组,就是说它的每 个数组元素都是一个对象
var count:Number=0;
music_xml.ignoreWhite=true;//忽略空白
music_xml.onLoad=function(success){
if(success){
parse(); //parse()是一个自定义函数,在加载成功时调用
}
}
music_xml.load("music.xml"); //加载xml文件,onLoad事件最好写在load的前面
//parse()
function parse(){
var e=music_xml.firstChild.childNodes;
count=e.length;
for(var i=0;i
musicobject.url=e[i].attributes.url;
musicobject.name=e[i].attributes.name;
musicobject.soundtxt=e[i].attributes.soundtxt;
music[i]=musicobject;
}
soundid(music[0].url,music[0].name);
loadLyrics(music[0].soundtxt);//加载歌词
}
//
var soundbool=false;
var mid:Number=1;
var soundposition=0;
var mysound:Sound=new Sound(); //定义sound对象
function soundid(url,name ,soundtxt){
mysound.loadSound(url,true);//自定义函数soundid,接收两个参数
this.onEnterFrame=function(){
if(mysound.getBytesLoaded()>=mysound.getBytesTotal()){
name_txt.text=name;
count_txt.text=mid+"/"+count;
mysound.start();
delete this.onEnterFrame;
}else{
name_txt.text="loading...";
}
}
}
//显示歌词区域=====================
createTextField("txtlyric", this.getNextHighestDepth,70, 100, "250", "90");//创建一个动态文本框
txtlyric.html = true;
txtlyric.multiline = true;
txtlyric.wordWrap = false;
txtlyric.border = true;
txtlyric.selectable = false;
function loadLyrics(lyrics) {
var lrc:XML = new XML();
lrc.load(lyrics);
lrc.onLoad = function(success) {
if (success) {
originLyrics = new Array();
originLyricsBreak = new Array();
var originLyricsUnit = new Array();
//删除回车和换行,并把每行歌词储存到数组originLyrics中
originLyrics = lrc.toString().split("\r\n");
//去除空白行
for (var i in originLyrics) {
if (originLyrics[i] == "") {
originLyrics.splice(i, 1);//删除空行
}
}
//——————解压歌词
for (var i in originLyrics) { //下面的if判断就是去掉类似[ti:醉清风]这样的信息
if (isNaN(originLyrics[i].substr(1, 2)) == false) {
originLyricsUnit = originLyrics[i].split("]");//用一个临时的数组储存解压之后单行歌词拆分而成的时间和内容
for (var j = 0; j
}
}
}
delete originLyrics;
originLyricsBreak.sort();//按时间先后排序:
//把歌词与时间分开
for (var i = 0; i<originLyricsBreak.length; i++) {
tempText = originLyricsBreak[i].split("]")[1];
var tempTimeString = originLyricsBreak[i].split("]")[0].slice(1);
lrcData.push({index:i, lrctime:convertToTime(tempTimeString), lrctext:tempText});
}
delete originLyricsBreak;
startShowLRC();
} else {
txtlyric.htmlText = "error";
}
};
}
//时间元素处理函数,将歌词中的时间转换成数字
function convertToTime(str) {
var times = str.split(":");
return parseInt(times[0])*60+parseFloat(times[1]);
}
//定义显示歌词的函数,此函数在音乐播放的时候被调用
function startShowLRC() {
t = 0;
n = 0;
txtlyric.htmlText = "";
mc3.onEnterFrame = checTimer;
showLRCInfo(0);
}
//检查时间
function checTimer() {
if (mysound.position>=lrcData[t].lrctime*1000) {
if (t
if (n != t) {
n = t;
showLRCInfo(t);
}
} else {
t++;
}
} else {
if (t != n) {
n = t;
showLRCInfo(t);
}
}
}
}
fontColor1 = new String("1C6440");
fontColor2 = new String("05D859");
lrcFormat = new TextFormat();
lrcFormat.align = "center";
frontInfo = new String();
backInfo = new String();
//显示歌词
function showLRCInfo(id) {
frontInfo = "";
backInfo = "";
for (var j = 0; j<id; j++) {
frontInfo += lrcData[j].lrctext+"<br>";
}
for (var j = id+1; j
}
txtlyric.htmlText = ""+frontInfo+""+""+lrcData[id].lrctext+"
"+""+backInfo+"";
txtlyric.setTextFormat(lrcFormat);
txtlyric.scroll = id-1;
}
//按扭操作区域
play_btn.onRelease=function(){
if(soundbool==false){
soundid(music[mid-1].url,music[mid-1].name);
loadLyrics(music[mid-1].soundtxt);
}else if(soundbool==true){
mysound.start(soundposition);
name_txt.text=music[mid-1].name;
}
}
stop_btn.onRelease=function(){
soundposition=0;
mysound.stop();
name_txt.text="停止";
}
next_btn.onRelease=function(){
if(mid==count) mid=1;
else mid++;
soundid(music[mid-1].url,music[mid-1].name);
loadLyrics(music[mid-1].soundtxt);
}
after_btn.onRelease=function(){
if(mid==1) mid=count;
else mid--;
soundid(music[mid-1].url,music[mid-1].name);
loadLyrics(music[mid-1].soundtxt);
}
pause_btn.onRelease=function(){
soundposition=mysound.position/1000;
mysound.stop();
name_txt.text="暂停";
soundbool=true;
}
//播放进度显示区域
mc2.onEnterFrame=function(){
//position声音已播放的毫秒数。如果该声音循环播放,则在每次循环开始时,将 position 重置为 0。
//duration声音的持续时间
var f=(mysound.position/mysound.duration)*100;
if(isNaN(f)==false){
//如果值为 NaN(非数字),则返回 true。此函数可用于检查一个数学表达式是否成功地计算为一个数字
process_mc.proc_mc._xscale=f;
}
}
//播放时间显示时区域
var time1:Number=0;
var time2:Number=0;
var time3:Number=0;
var time4:Number=0;
mc1.onEnterFrame = function () {
time1 = int(mysound.position / 60000) < 10 ? "0" + int(mysound.position / 60000) : int(mysound.position / 60000);
time2 = int(mysound.position / 1000 % 60) < 10 ? "0" + int(mysound.position / 1000 % 60) : int(mysound.position / 1000 % 60);
time3 = int(mysound.duration / 60000) < 10 ? "0" + int(mysound.duration / 60000) : int(mysound.duration / 60000);
time4 = int(mysound.duration / 1000 % 60) < 10 ? "0" + int(mysound.duration / 1000 % 60) : int(mysound.duration / 1000 % 60);
time_txt.text = time1 + ":" + time2 + " - " + time3 + ":" + time4;
};
flash播放器的as
模仿Flash AS效果的导航菜单
模仿Flash AS效果的导航菜单
模仿Flash AS效果的导航菜单
DIY自己的Flash播放器
9款基于flash的播放器
我收藏的flash音乐播放器
播放器可用的部分FLASH背景
播放器可用的部分FLASH背景
很好用的flash音乐播放器
精致漂亮的Flash mp3播放器
精致漂亮的Flash mp3播放器
Flash教程:个性播放器的制作
Flash教程:个性播放器的制作
超全万款flash播放器
flash音乐播放器
超全万款flash播放器
Flash播放器制作
FLASH播放器
Flash播放器制作
flash音乐播放器
播放器flash
FLASH播放器⑽
FLASH播放器