精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Flex播放器同步顯示歌詞

開發 后端
本文向大家介紹一下Flex播放器同步顯示歌詞,如果放歌曲時要同步顯示歌詞,首先必須要能解析出lrc格式的歌詞文本。

本文和大家重點討論一下如何讓Flex播放器同步顯示歌詞,播放歌曲時要同步顯示歌詞,首先必須要能解析出lrc格式的歌詞文本,lrc歌詞其實就是一個文本格式的文件,在Flex里面我們可以使用URLLoader去加載。

Flex播放器同步顯示歌詞

播放歌曲時要同步顯示歌詞,首先必須要能解析出lrc格式的歌詞文本,之前我還準備直接在網上匹配下載對應歌詞,打開我機器的千千靜音在線匹配歌詞,然后用HTTPAnalyzerStdV監視所有的http請求,發現它是請求這個ttlrcct.qianqian.com網站下載歌詞,本來還是直接套用千千靜音服務器下載歌詞,但是它的url參數全部加密了。后來又看了下酷狗音樂,它里面下載歌詞我都監視不請求,考慮到就算我能在線找到下載歌詞的url地址,flash里發送遠程請求也會有安全殺箱問題,所以最終放棄直接在網絡上下載歌詞的辦法,還是全部上傳到我網站上去。lrc歌詞其實就是一個文本格式的文件,在Flex播放器里面我們可以使用URLLoader去加載,代碼如下:

Java代碼

  1. 加載歌詞varlrcUrl:String=xml.item[currIndex].lrc;  
  2. if(lrcUrl!=null&&lrcUrl!=""){varlrc:URLLoader=newURLLoader();//lrc.dataFormat=URLLoaderDataFormat.VARIABLES;  
  3. lrc.load(newURLRequest(lrcUrl));lrc.addEventListener(Event.COMPLETE,LRC_Complete);  
  4. lrc.addEventListener(IOErrorEvent.IO_ERROR,LRC_IOError);}lrcArr=null;  
  5. outPutLRCString="";startIndexOf=0;txtLrc.text="";  

然后在加載完成的事件里,我們能得到lrc文本字符串,這時候我們需要對字符串進行處理,把它轉換成一個Array數組,函數方法如下:

  1. publicfunctiongetLRCArray(lrc:String):Array{varlrcArr:Array=newArray;lrc+="\r";for(vari:int=0;i<lrc.length;i++){vartime:Number=0;  
  2.  
  3. if(lrc.charAt(i)==":"){time=Number(lrc.slice(i-2,i))*60+Number(lrc.slice(i+1,i+3));  
  4.  
  5. if(String(time)!="NaN"){varj:uint=0;varstartIndex:uint=0;varendIndex:uint=0;  
  6.  
  7. do{j++;if(lrc.charAt(i+j)=="]"){startIndex=i+j+1;}}while(i+j<lrc.indexOf("\r",i))endIndex=lrc.indexOf("\r",i);  
  8.  
  9. if(startIndex!=0&&endIndex!=0){lrcArr.push([time,lrc.slice(startIndex,endIndex)]);}}}}returnlrcArr;}  

解析歌詞返回的Array數組為多圍數組,數組里的每一項是為一個二圍數組,item[0]為當前秒數,item[1]為該秒顯示的歌詞(句),比如item[0]=歌曲名:你最近還好嗎、item[5]=演唱:S.H.E,就是代表第0秒顯示歌曲名:你最近還好嗎,而從第5秒起則顯示演唱:S.H.E,這樣通過getLRCArray方法就能得到歌曲所有的時間段顯示的歌詞拉。本例中把所有歌詞放在一個editable="false"不可修改的mx:TextArea文本域內。

歌詞同步顯示的問題

歌詞能全部加載顯示了,問題是怎么隨著Flex播放器歌曲的播放而高亮顯示當前行歌詞呢?不過還好Flex提供一個TextRange能對TextArea內文本進行選擇性的處理,你只需要設置beginIndex和endIndex就能自動匹配到TextArea中間區域的文本,我這里只是簡單的改變了一下顏色,不過我們從TextArea中找某一個句歌詞索引的時候需要注意歌詞有很多是重復的,所以我們需要用一個變量保存當前歌詞播放位置索引startIndexOf,以確保我們高亮選擇到的歌詞是正確的。同時將TextArea滾動條設置到對應的高度,主要的代碼如下:

  1. //同步顯示歌詞if(lrcArr!=null&&lrcArr.length>0){varsec:Number=int(channel.position/1000);  
  2. for(varj:int=0;j<lrcArr.length;j++){if(lrcArr[j][0]==sec){varcurrentLrc:String=lrcArr[j][1];  
  3. if(currentLrc!=this.currLrc.text){currLrc.text=currentLrc;  
  4. //高亮顯示,先清空之前高亮部分vartr:TextRange=newTextRange(txtLrc);tr.color=this.getStyle("color");  
  5. varbeginIndex:int=this.outPutLRCString.indexOf(currentLrc,startIndexOf);startIndexOf+=currentLrc.length;  
  6. varendIndex:int=beginIndex+currentLrc.length;  
  7. tr.beginIndex=beginIndex;tr.endIndex=endIndex;if(tr.text!=""){tr.color="yellow";}
  8. //設置滾動條位置this.txtLrc.verticalScrollPosition=j*this.txtLrc.maxVerticalScrollPosition/lrcArr.length;if(lrcArr.length-j<=5)
  9. thisthis.txtLrc.verticalScrollPosition=this.txtLrc.maxVerticalScrollPosition;}break;}}}  
  10.  
  11. /加載歌詞varlrcUrl:String=xml.item[currIndex].lrc;if(lrcUrl!=null&&lrcUrl!=""){varlrc:URLLoader=newURLLoader();  
  12. //lrc.dataFormat=URLLoaderDataFormat.VARIABLES;lrc.load(newURLRequest(lrcUrl));  
  13. lrc.addEventListener(Event.COMPLETE,LRC_Complete);  
  14. lrc.addEventListener(IOErrorEvent.IO_ERROR,LRC_IOError);}lrcArr=null;outPutLRCString="";startIndexOf=0;txtLrc.text="";  


然后在加載完成的事件里,我們能得到lrc文本字符串,這時候我們需要對字符串進行處理,把它轉換成一個Array數組,函數方法如下:

  1. publicfunctiongetLRCArray(lrc:String):Array{varlrcArr:Array=newArray;lrc+="\r";  
  2. for(vari:int=0;i<lrc.length;i++){vartime:Number=0;  
  3. if(lrc.charAt(i)==":"){time=Number(lrc.slice(i-2,i))*60+Number(lrc.slice(i+1,i+3));  
  4. if(String(time)!="NaN"){varj:uint=0;varstartIndex:uint=0;varendIndex:uint=0;  
  5. do{j++;if(lrc.charAt(i+j)=="]"){startIndex=i+j+1;}}while(i+j<lrc.indexOf("\r",i))endIndex=lrc.indexOf("\r",i);  
  6. if(startIndex!=0&&endIndex!=0){lrcArr.push([time,lrc.slice(startIndex,endIndex)]);}}}}returnlrcArr;} 

解析歌詞返回的Array數組為多圍數組,數組里的每一項是為一個二圍數組,item[0]為當前秒數,item[1]為該秒顯示的歌詞(句),比如item[0]=歌曲名:你最近還好嗎、item[5]=演唱:S.H.E,就是代表第0秒顯示歌曲名:你最近還好嗎,而從第5秒起則顯示演唱:S.H.E,這樣通過getLRCArray方法就能得到歌曲所有的時間段顯示的歌詞拉。本例中把所有歌詞放在一個editable="false"不可修改的mx:TextArea文本域內。

【編輯推薦】

  1. Flex樣式的添加和卸載
  2. Flex安全沙箱問題解決方法
  3. 技術前沿 看Flex客戶端緩存技術如何使用
  4. 解析Flex全屏模式設置方法
  5. Flex內存泄露解決方法和內存釋放優化原則


 

責任編輯:佚名 來源: javaeye.com
相關推薦

2010-07-30 09:50:36

Flex播放器

2010-07-30 09:42:37

Flex播放器

2022-08-16 17:37:06

視頻播放器鴻蒙

2011-06-13 09:33:04

2011-06-27 11:23:21

Qt 音樂播放器

2010-08-11 13:39:16

Flex3.0Flv播放器

2011-09-09 11:28:35

Android Mus

2011-09-05 18:08:01

MTK音頻播放器

2015-05-21 15:25:42

VLC播放器

2011-07-20 16:21:20

iPhone 視頻 播放器

2018-05-25 14:37:58

2010-06-11 12:53:56

openSUSE播放器

2009-12-17 15:10:31

Linux音樂播放器

2022-06-21 14:41:38

播放器適配西瓜視頻

2014-12-31 16:52:53

音樂播放器源碼

2012-05-03 09:51:09

HTML5

2022-08-17 17:18:02

Sunamu開源

2010-08-02 09:36:22

Flex

2009-07-16 14:09:24

Flex3到Flex4

2013-01-04 09:40:16

點贊
收藏

51CTO技術棧公眾號

老鸭窝一区二区| 992tv快乐视频| 91丝袜一区二区三区| 偷窥自拍亚洲色图精选| 欧美午夜激情小视频| 女女同性女同一区二区三区91| 无码人妻精品一区二区三区不卡| 99re6这里只有精品| 日韩精品一区二区在线观看| 99999精品视频| 毛片av在线| 成人免费三级在线| 国产精品久久久久久搜索| 亚洲一二三在线观看| 动漫av一区| 欧美日韩不卡一区二区| 久久久久久免费看| 精品视频在线一区二区| 久久久一区二区三区捆绑**| 亚洲一区中文字幕在线观看| av一级在线观看| 亚洲啪啪91| 日韩视频免费大全中文字幕| 亚洲永久无码7777kkk| 视频精品一区| 欧美日韩一区二区三区四区| 日本熟妇人妻xxxx| 国产精品刘玥久久一区| 久久久亚洲精品一区二区三区| 成人欧美一区二区| 欧美性受xxx黑人xyx性爽| 激情文学一区| 欧美寡妇偷汉性猛交| 极品色av影院| 欧美日韩在线网站| 亚洲欧美国产制服动漫| 日韩综合第一页| 视频精品一区二区三区| 91精品国产乱| 欧美激情第一区| 国精品产品一区| 在线观看亚洲精品| 国产淫片av片久久久久久| 嗯啊主人调教在线播放视频| 亚洲免费在线视频一区 二区| 欧美一区二区三区四区五区六区| www.天堂av.com| 国产成人综合在线播放| 亚洲一区二区三区视频| 国产女18毛片多18精品| 国产一区日韩二区欧美三区| 国产福利精品在线| 中文字幕精品无码亚| 丝袜诱惑亚洲看片| 国产经典一区二区| 日韩精选在线观看| 日本亚洲一区二区| 国产精品视频一区国模私拍| 最近中文字幕在线观看视频| 奇米精品一区二区三区四区| 国产精品国产三级国产专播精品人 | jvid一区二区三区| 欧美视频一区在线| 免费av不卡在线| 精品国产第一国产综合精品| 欧美一区二区三区免费大片| 人妻激情偷乱视频一区二区三区| 精品视频在线一区| 精品免费国产二区三区| 性色av蜜臀av浪潮av老女人| 亚洲第一福利专区| 在线观看精品国产视频| 国产小视频你懂的| 欧美视频在线观看| 91高清视频免费| 涩涩视频在线观看| 国产伦精品一区二区三区在线观看 | 欧美.com| 日韩高清a**址| 丁香激情五月少妇| 综合久久99| 97av在线影院| 一级特黄aaa大片在线观看| 国产精品一色哟哟哟| 国产一区在线观| av中文在线| 一区二区高清免费观看影视大全| 中国丰满人妻videoshd| 成人午夜一级| 欧美精品一区二区三区蜜臀| 公肉吊粗大爽色翁浪妇视频| 91精品国产调教在线观看| 午夜精品久久久久久99热软件| 日韩中文字幕在线观看视频| 九色综合国产一区二区三区| 国产九区一区在线| 中国日本在线视频中文字幕| 亚洲妇熟xx妇色黄| 国产九九在线视频| 福利片一区二区| 日韩在线视频一区| 日韩欧美性视频| 久久se这里有精品| 久久久久久久久久久一区| 欧美激情午夜| 日韩欧美视频一区二区三区| 国内精品国产三级国产aⅴ久| 亚洲视频分类| 久久久久亚洲精品成人网小说| 中文字幕免费观看| www.亚洲人| 午夜探花在线观看| 日韩av超清在线观看| 精品精品国产高清a毛片牛牛| 美女网站视频色| 久久成人一区| 国产在线视频欧美一区二区三区| 欧美猛烈性xbxbxbxb| 日韩欧美精品免费在线| 性欧美18—19sex性高清| 日韩中文在线电影| 91wwwcom在线观看| 狠狠综合久久av一区二区| 国产精品国产三级国产aⅴ原创| 久久久久人妻精品一区三寸| 白嫩白嫩国产精品| 欧美成人精品激情在线观看| 亚洲天天综合网| 国产亚洲福利社区一区| 99视频在线免费播放| 91成人精品在线| 欧美大片欧美激情性色a∨久久| 在线观看视频中文字幕| 国产日韩欧美在线一区| 欧美精品一区二区三区免费播放| 极品束缚调教一区二区网站| 欧美激情乱人伦一区| 国产精品欧美综合亚洲| 中文字幕综合网| 超碰超碰在线观看| 成人在线免费观看网站| 国产精品美女视频网站| 国产福利在线| 欧美午夜不卡在线观看免费| av手机在线播放| 人人超碰91尤物精品国产| 欧美在线视频一区二区三区| 欧美xxx网站| 亚洲深夜福利视频| 国产精品午夜一区二区| 日本一区二区不卡视频| 亚洲欧美激情网| 欧美高清视频在线观看mv| 成人a级免费视频| 黄视频网站在线| 日韩免费一区二区三区在线播放| 精品处破女学生| kk眼镜猥琐国模调教系列一区二区 | 在线免费观看日本一区| 丰满的亚洲女人毛茸茸| 久久爱www久久做| 黄网站色视频免费观看| 高潮按摩久久久久久av免费| 97精品国产97久久久久久| 欧美人体大胆444www| 色噜噜狠狠色综合中国| 蜜桃av免费观看| 国产精品自在欧美一区| 人妻夜夜添夜夜无码av| 亚洲资源网站| 国产美女直播视频一区| 中文字幕中文字幕在线中高清免费版| 日韩美女在线视频| 亚洲 欧美 日韩 综合| 国产欧美一区二区三区沐欲 | 国产精品熟女视频| 亚洲欧洲日韩一区二区三区| 韩国黄色一级片| 久久精品伊人| 男女爱爱视频网站| 日韩极品在线| 国产日韩av在线播放| 青草av在线| 亚洲一区二区精品| 精品国产九九九| 色综合久久综合网| av成人免费网站| 2023国产精品自拍| 婷婷激情5月天| 99国产精品视频免费观看一公开 | 欧美日韩一区二区不卡| 久久久www成人免费毛片| 国产亚洲自拍一区| 先锋资源在线视频| 男女av一区三区二区色多| 中文字幕av日韩精品| 任你弄精品视频免费观看| 国产专区精品视频| 亚洲人成在线网站| 欧美成人精品在线观看| 国产三级在线观看| 欧美精品一区二区高清在线观看 | 免费人成精品欧美精品| 蜜臀av色欲a片无码精品一区| 成人看的视频| 久久成人资源| 日韩精品成人在线观看| 国产精品av免费在线观看| 色帝国亚洲欧美在线| 国产亚洲美女久久| 亚洲精品久久久蜜桃动漫| 在线观看免费成人| 天天操天天摸天天干| 一区二区三区国产精品| a级黄色免费视频| 久久久夜色精品亚洲| 成人在线视频免费播放| 国产一区二区在线视频| 国产免费999| 一区二区三区高清视频在线观看| 国产精品jizz在线观看老狼| 欧美日韩一区二区三区视频播放| 精品蜜桃传媒| 98视频精品全部国产| 亚洲精品日韩av| 人人玩人人添人人澡欧美| 国产成人精品在线视频| 国产传媒在线| 97热精品视频官网| 超碰97免费在线| 欧美大学生性色视频| fc2ppv国产精品久久| 久久精品亚洲一区| 色影视在线观看| 中文字幕av一区| 成人高清网站| 亚洲欧美资源在线| 欧美日本网站| 亚洲亚裔videos黑人hd| 国产小视频在线| 亚洲女人被黑人巨大进入al| 视频在线不卡| 亚洲精品自在久久| 天堂av网在线| 亚洲欧美日韩国产精品| 黄色免费在线播放| 在线观看日韩专区| 日本不卡在线| 北条麻妃一区二区三区中文字幕| 免费的黄网站在线观看| 久久久精品影院| 污污网站在线观看| 久久久亚洲网站| 男人av在线播放| 日本一区二区三区四区视频| 免费欧美电影| 国产精品自产拍在线观看| 欧美一区二区三区婷婷| 亚洲自拍偷拍区| 9999久久久久| 欧美日韩另类综合| 首页国产精品| 狠狠干视频网站| 日韩午夜激情| 久久精品视频91| 久久er99热精品一区二区| 男人女人拔萝卜视频| 成人三级在线视频| 女尊高h男高潮呻吟| 国产精品区一区二区三区| 色在线观看视频| 性做久久久久久久免费看| 亚洲AV无码成人精品区东京热| 欧美三区免费完整视频在线观看| 国产丝袜在线视频| 亚洲成人精品视频在线观看| 国产三级视频在线播放线观看| 日韩中文综合网| mm视频在线视频| 国产精品欧美久久久| 天堂va在线高清一区| 麻豆一区区三区四区产品精品蜜桃| 色乱码一区二区三区网站| 国产肉体ⅹxxx137大胆| 日韩国产一区二| 久久久久久久久久久影视| 久久亚洲影视婷婷| 性色av无码久久一区二区三区| 欧美视频专区一二在线观看| 在线亚洲欧美日韩| 亚洲精品720p| 黄色网址在线免费观看| 欧美亚洲第一页| 国产95亚洲| 日韩av大全| 国精品一区二区三区| 亚洲高清免费在线观看| 成人av在线一区二区| 青青青视频在线播放| 欧美视频在线看| www.av在线.com| 色偷偷9999www| videos性欧美另类高清| 成人av播放| 欧美电影免费播放| av网址在线观看免费| 成人天堂资源www在线| 女同久久另类69精品国产| 欧美视频免费在线| 亚洲AV无码精品色毛片浪潮| 最近2019好看的中文字幕免费| 黄频免费在线观看| 99精品国产高清在线观看| 久久精品99久久无色码中文字幕| 日韩a∨精品日韩在线观看| 韩日av一区二区| 女人黄色一级片| 欧美性69xxxx肥| 国产 日韩 欧美 精品| 久久国产精品久久国产精品| 免费一级欧美在线观看视频| 欧美在线一二三区| 免费在线观看成人av| 亚洲少妇18p| 亚洲成a人片在线不卡一二三区 | 日韩av最新在线观看| 三级福利片在线观看| 亚洲一区免费网站| 天天射—综合中文网| 亚洲最大综合网| 国产欧美一区二区精品婷婷| 国语对白永久免费| 亚洲人成人99网站| 韩国主播福利视频一区二区三区| 好吊色欧美一区二区三区四区| 欧美精品aa| 色综合久久久无码中文字幕波多| 亚洲欧美日韩在线不卡| 国产又大又粗又硬| 久久久精品久久久| 国产精品国产亚洲精品| 制服丝袜综合日韩欧美| 久久国产欧美日韩精品| 日日碰狠狠添天天爽| 3atv一区二区三区| 男人天堂久久久| 亚洲一区二区三区毛片| 中文字幕一区二区三区欧美日韩| 波多野结衣在线免费观看| 亚洲欧洲中文日韩久久av乱码| 国产伦理吴梦梦伦理| 上原亚衣av一区二区三区| 久久91视频| 久久免费一级片| 成人免费看的视频| 日韩欧美高清在线观看| 亚洲美女在线视频| 国语自产精品视频在线看抢先版结局| 手机成人在线| 国产美女在线精品| 久久精品视频6| 亚洲视频视频在线| 欧美成人高清视频在线观看| 天天在线免费视频| 成人av网在线| 毛片在线免费播放| 久久精品99国产精品酒店日本| 日本免费一区二区三区视频| 国产v片免费观看| 欧美国产视频在线| av官网在线观看| 欧美一级电影久久| 久久综合88| 久久久老熟女一区二区三区91| 日韩欧美国产网站| 精品黄色免费中文电影在线播放| 成人综合色站| 日韩精品电影一区亚洲| 2018天天弄| 亚洲欧美第一页| 国产午夜久久av| 欧美女人性生活视频| 中文字幕亚洲一区二区av在线 | 色yeye香蕉凹凸一区二区av| 一区二区亚洲视频| 黄色高清无遮挡| 亚洲精品国产品国语在线app| 亚洲美女综合网| 国产精品久久久久久久一区探花| 黄色亚洲精品| 美国美女黄色片| 亚洲精品国产精品乱码不99按摩| 成人一区视频| 干日本少妇首页| 一区二区三区加勒比av| jizz亚洲| 欧美美乳视频网站在线观看| 国产九九视频一区二区三区| 中文字幕永久在线| 91精品国产91久久久久久最新 |