<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    千里冰封
    JAVA 濃香四溢
    posts - 151,comments - 2801,trackbacks - 0

      在剛開始編碼的時(shí)候,不知道從何下手,由于寫YOYOPlayer之前用JMF寫過(guò)一個(gè)類似的播放器,但是由于要安裝JMF并且還需要另外安裝MP3 plugin,總體來(lái)說(shuō)不太方便,并且JMF的項(xiàng)目也是Sun的一個(gè)已經(jīng)停止維護(hù)的項(xiàng)目了,并且用JMF有一個(gè)非常不好的地方,那就是經(jīng)常會(huì)在播放的時(shí)候crack,我以前用JMF寫的netbeans音樂插件就會(huì)出現(xiàn)這種問(wèn)題,有時(shí)候音樂播得好好的,就突然netbeans退出了,基于這些考慮,所以放棄了使用JMF做為音樂播放框架的想法.

    由于JAVA一個(gè)開源的開放的自由平臺(tái),很多自由開源軟件應(yīng)運(yùn)而生,在音頻播放領(lǐng)域,Jlayer是一個(gè)很不錯(cuò)的開源音頻播放組件,并且它下面還有一個(gè)純JAVA的音樂播放器叫jlGui,這個(gè)播放器,在我05年初學(xué)JAVA的時(shí)候就下載過(guò),試用過(guò),不過(guò)那個(gè)時(shí)候似乎不支持播放MP3格式的音樂,所以我也沒有當(dāng)回事,現(xiàn)在jlGui算是挺強(qiáng)大的了,YOYOPlayer就是基于jlGui的架構(gòu)上寫的, jlGui的地址:http://www.javazoom.net/jlgui/jlgui.html,初看起來(lái)似乎YOYOPlayerjlGui很像哦,呵呵,但是當(dāng)你用了YOYOPlayer以后,你就會(huì)發(fā)現(xiàn)其實(shí)里面并不是很像,如果jlGui很好用的話,我就沒必要寫一個(gè)YOYOPlayer,我直接寫一個(gè)歌詞插件就行了,何必重寫呢?主要原因是一,jlGui對(duì)中文支持不好,,jlGui的面板設(shè)計(jì)不太好,不能分成幾個(gè)部份自由拖動(dòng),,不支持多個(gè)播放列表,另外它的配置也很少.所以YOYOPlayer才正式?jīng)Q定要寫下去了,為了一個(gè)比jlGui更易用的JAVA版的音樂播放器,也為了更支持中文,并且支持同步的歌詞顯示.

    確定了主要的框架以后,我花了一段時(shí)間去研究jlGui的源碼,發(fā)現(xiàn)有些地方寫得不太如意,一開始,我的項(xiàng)目是直接引用BasicPlayer.jar這個(gè)包的,后來(lái)里面有些東西寫得確實(shí)不太好,所以才把BasicPlayer.jar里面的源文件拿出來(lái),自己重新修改放到自己的項(xiàng)目里面去,并且它的日志都是英文的,還有一點(diǎn)它的日志是用log4j,而我的日志系統(tǒng)用的是java.util.logging,所以把該改的代碼都改過(guò)來(lái)了.

    由于我以前寫的歌詞組件是基于JMF,是主動(dòng)取得歌詞時(shí)間,jlGui里面要得到時(shí)間只有被動(dòng)的實(shí)現(xiàn)接口去得到,直到YOYOPlayer1.1都是這樣得到媒體的時(shí)間的,現(xiàn)在正在改進(jìn)的版本中已經(jīng)改過(guò)來(lái)了,變被動(dòng)接受時(shí)間為主動(dòng)詢問(wèn)時(shí)間,這樣對(duì)于控制歌詞的刷新速度有了更好的主動(dòng)性.并且效果也有所提高,因?yàn)橐粋€(gè)接口實(shí)現(xiàn)方法里面做太多的事情會(huì)影響事件派發(fā)線程派發(fā)的及時(shí)性以及效率..

    我以前曾經(jīng)寫過(guò)ID3v1格式的標(biāo)簽的讀取,后來(lái)發(fā)現(xiàn)jlGui里面有一個(gè)讀取ID3標(biāo)簽的庫(kù),為了統(tǒng)一性,就使用了它的庫(kù),結(jié)果它的庫(kù)讀出來(lái)的中文都是亂碼,于是我又得改源代碼,把讀出來(lái)的字符串全部根據(jù)配置進(jìn)行轉(zhuǎn)碼,才不致于出現(xiàn)中文亂碼的情況,在后來(lái)又發(fā)現(xiàn)一個(gè)非常好用的歌曲標(biāo)簽讀取庫(kù)叫jaudiotagger,地址是: http://www.jthink.net/jaudiotagger/index.jsp,但是那個(gè)庫(kù)又沒有APEv2格式的標(biāo)簽讀取支持,于是我只得自己寫了一個(gè)APEv2格式的標(biāo)簽讀寫器,并集成到同一個(gè)庫(kù)里面,便于管理.jaudiotagger庫(kù)集成進(jìn)來(lái)以后,又對(duì)jlGui里面的標(biāo)簽讀取的方式進(jìn)行了改動(dòng),以增加標(biāo)簽指定編碼的讀和寫的功能.

    YOYOPlayer的界面上,很多地方是參考了千千靜聽,甚至說(shuō)就是千千靜聽的設(shè)置直接搬過(guò)來(lái)的,因?yàn)榍ъo聽是一個(gè)很成功的音樂播放器,成功的地方我們就要去學(xué)習(xí),并且它確實(shí)有很多地方值得我們學(xué)習(xí)的,無(wú)論是從易用性還是擴(kuò)展性來(lái)講都是一樣.YOYOPlayer的整體就是這個(gè)樣子,下次我們來(lái)根據(jù)代碼說(shuō)話,和大家一起分享在編碼的過(guò)程中遇到的快樂和痛苦.希望能對(duì)大家有些幫助.也希望大家對(duì)于YOYOPlayer提出更多的意見,java.net上的項(xiàng)目通過(guò)以后,有更多的人加入到開發(fā)YOYOPlayer的行列中來(lái).




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

    你我共同品味JAVA的濃香.
    posted on 2008-01-08 20:11 千里冰封 閱讀(7755) 評(píng)論(12)  編輯  收藏 所屬分類: JAVASE

    FeedBack:
    # re: YOYOPlayer開發(fā)手記(二)概述
    2008-01-08 20:20 | BeanSoft
    實(shí)在是太好了。。。套你一句話:最珍貴的東西是免費(fèi)的

    還有一句話:比某些動(dòng)輒將外國(guó)開源軟件吹上天 拼命翻譯文檔 自己連行代碼都不跑,也不看的人好。。。實(shí)踐出真知。  回復(fù)  更多評(píng)論
      
    # re: YOYOPlayer開發(fā)手記(二)概述
    2008-01-08 21:15 | Matthew Chen
    佩服。  回復(fù)  更多評(píng)論
      
    # re: YOYOPlayer開發(fā)手記(二)概述
    2008-01-08 22:00 | xidudui
    很有用 多謝誒  回復(fù)  更多評(píng)論
      
    # re: YOYOPlayer開發(fā)手記(二)概述
    2008-01-08 22:13 | Crying
    我用YOYOPlayer 感覺不錯(cuò)! 謝謝啊   回復(fù)  更多評(píng)論
      
    # re: YOYOPlayer開發(fā)手記(二)概述
    2008-01-09 01:04 | wothnet
    用過(guò),yoyoplayer很好,期待開源!!!  回復(fù)  更多評(píng)論
      
    # re: YOYOPlayer開發(fā)手記(二)概述
    2008-01-09 12:53 | 魚中魚
    感動(dòng)中!  回復(fù)  更多評(píng)論
      
    # re: YOYOPlayer開發(fā)手記(二)概述
    2008-01-09 19:51 | wǒ愛伱--咾婆
    頂個(gè)。。支持支持。。。  回復(fù)  更多評(píng)論
      
    # re: YOYOPlayer開發(fā)手記(二)概述
    2008-01-09 21:53 | YZ
    寫得好!!我又來(lái)了!  回復(fù)  更多評(píng)論
      
    # re: YOYOPlayer開發(fā)手記(二)概述
    2008-01-10 15:31 | xidudui
    感動(dòng)  回復(fù)  更多評(píng)論
      
    # re: YOYOPlayer開發(fā)手記(二)概述
    2008-01-10 16:17 | dx
    期待開源  回復(fù)  更多評(píng)論
      
    # re: YOYOPlayer開發(fā)手記(二)概述
    2009-02-25 08:45 | 2yr10000
    我也用JMF寫過(guò)mp3播放器,但一直沒時(shí)間去完善,我喜歡你的項(xiàng)目  回復(fù)  更多評(píng)論
      
    # re: YOYOPlayer開發(fā)手記(二)概述
    2009-04-22 03:01 | zhangpeng
    我先知道yoyoplayer中的波形分析原理
      回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 97国免费在线视频| 亚洲性日韩精品一区二区三区 | 免费看美女裸露无档网站| 一级一级一级毛片免费毛片| 2017亚洲男人天堂一| 久久亚洲中文字幕精品有坂深雪 | 亚洲一本一道一区二区三区| 亚洲视频.com| 国产亚洲免费的视频看| 亚洲第一区精品日韩在线播放| 成人毛片免费观看| 可以免费看的卡一卡二| 1000部羞羞禁止免费观看视频 | 亚洲尹人香蕉网在线视颅| 亚洲人成网7777777国产| 亚洲区不卡顿区在线观看| 韩国18福利视频免费观看| 日韩一区二区a片免费观看| 成人免费的性色视频| 精品熟女少妇av免费久久| 久久精品私人影院免费看| 成全高清在线观看免费| 中文字幕不卡免费高清视频| 一级毛片免费毛片毛片| rh男男车车的车车免费网站| EEUSS影院WWW在线观看免费| 国产99精品一区二区三区免费| 人人爽人人爽人人片A免费| 高清免费久久午夜精品| 成年网在线观看免费观看网址 | 暖暖免费高清日本中文| 成全视频在线观看免费高清动漫视频下载 | 七色永久性tv网站免费看| 免费观看一区二区三区| 全免费a级毛片免费看| 国产成人久久AV免费| 在线免费观看你懂的| 国产h视频在线观看网站免费| 青娱乐免费在线视频| 女人18特级一级毛片免费视频| 女性无套免费网站在线看|