千里冰封
          JAVA 濃香四溢
          posts - 151,comments - 2801,trackbacks - 0
          <2008年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          盡管千里冰封
          依然擁有晴空

           

          留言簿(204)

          隨筆分類(197)

          隨筆檔案(189)

          文章檔案(2)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 966239
          • 排名 - 35

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          在做了歌詞同步顯示以后,還必須得做歌詞搜索的動作,搜索分兩種,一種是在搜索本地的特定目錄,當(dāng)然這些目錄是可以設(shè)置的,還有一種是當(dāng)本地搜索不到的時候,再到網(wǎng)絡(luò)上去進(jìn)行進(jìn)一步的搜索,當(dāng)然這些搜索都是起了一個新的線程在做的,否則就會卡到主線程播不出音樂來了.

          說到歌詞的搜索,就得說說什么樣的歌詞才叫匹配了呢,這個時候,就得提起前面寫的標(biāo)簽讀取器了,第一步是從音頻文件里面讀取標(biāo)簽,根據(jù)標(biāo)簽里的歌手名和歌曲名去本地搜索完全匹配的歌詞文件,如果沒有,則第二步,根據(jù)標(biāo)簽里面的歌曲名去本地搜索匹配的歌詞文件,如果這一步還沒有找到,就可能是確實沒有這首歌的歌詞,也可能是這首歌的標(biāo)簽是不合法的或者標(biāo)簽是錯的,第三步就取歌曲的文件名做為歌曲名再去搜索一遍,如果還沒有搜到,則說明本地沒有了,這個時候再去網(wǎng)絡(luò)上重復(fù)以上三個步驟,如果還沒有搜索,那就直接顯示歌詞名在歌詞面板了.

          當(dāng)然現(xiàn)在已經(jīng)實現(xiàn)了當(dāng)搜索到了歌詞以后,會自動和歌曲文件相關(guān)聯(lián),也就是說以后再播到這首歌的時候就不會在本地到處搜索匹配的歌詞了,而是直接關(guān)聯(lián)的歌詞文件里面讀取歌詞.這個一來可以提高效率,二來也可以人工指定匹配的歌詞文件,人工要指定其實很簡單,只要把你想關(guān)聯(lián)的歌詞文件拖放到歌詞顯示窗口就可以了,這個時候就自動關(guān)聯(lián)到當(dāng)前正在播放的歌曲了.當(dāng)然你也可以點擊在線搜索自己指定歌手名和歌曲名,然后雙擊要下載的歌詞進(jìn)行關(guān)聯(lián).所有的關(guān)聯(lián)都是為了在播放歌曲的時候提高效率.

          在網(wǎng)上搜索的過程中,使用了httpClient3.0做為網(wǎng)絡(luò)連接的工具,因為它封裝性非常好,并且方便易用,可以在很大的程度上摸擬瀏覽器的行為.在搜到了歌詞以后,用正則表達(dá)式把里面的地址取出來,這一切就差不多了.




          盡管千里冰封
          依然擁有晴空

          你我共同品味JAVA的濃香.
          posted on 2008-01-15 13:22 千里冰封 閱讀(3083) 評論(3)  編輯  收藏 所屬分類: JAVASE

          FeedBack:
          # re: YOYOPlayer開發(fā)手記(五)歌詞搜索
          2008-01-16 12:17 | ae
          做得很不錯啊。我提點意見:打開播放器聽歌曲時,如果用右標(biāo)點擊播放器的最小化圖標(biāo),歌曲會暫停播放,這一點給人感覺不怎么好,是線程問題嗎?  回復(fù)  更多評論
            
          # re: YOYOPlayer開發(fā)手記(五)歌詞搜索
          2008-02-11 14:33 | 九州
          同意樓上兄弟說法,有這種現(xiàn)象,不過已經(jīng)相當(dāng)佩服兄弟了,呵呵  回復(fù)  更多評論
            
          # re: YOYOPlayer開發(fā)手記(五)歌詞搜索
          2008-02-13 18:31 | java學(xué)習(xí)
          想問一下,能把網(wǎng)上如何下載歌詞的原理說詳細(xì)一些嗎?學(xué)習(xí)中......  回復(fù)  更多評論
            
          主站蜘蛛池模板: 防城港市| 界首市| 股票| 永和县| 建湖县| 文安县| 石屏县| 乐陵市| 西充县| 左云县| 清远市| 靖西县| 双江| 五寨县| 莆田市| 道孚县| 溆浦县| 桃江县| 龙州县| 福清市| 三门县| 磐安县| 泰顺县| 突泉县| 阿图什市| 天峻县| 绿春县| 奉节县| 莲花县| 林西县| 南岸区| 金湖县| 大埔县| 枣强县| 中方县| 山丹县| 康保县| 新巴尔虎左旗| 方正县| 汶上县| 濮阳县|