仿酷狗音樂播放器已開源!

轉載請說明原出處,謝謝:http://blog.csdn.net/zhuhongshu/article/details/41037875

       距離我釋出測試版的Redrain音樂盒(仿酷狗播放器),現在正好剛2個月。部落格留言和QQ群裡也一直有網友關心這個小專案開源的問題。先感謝網友對這個小專案的支援。之前我一直擔心版權問題而沒有開源這個專案,因為我只是個在校大學生,也沒有工作,不想惹麻煩,希望大家體諒!

     
這篇文章只是對開源的說明!關於這個Redrain音樂盒的釋出程式的說明和使用方法,見《Redrain仿酷狗音樂播放器開發完畢,釋出測試程式》

      今天,我把這個專案的原始碼上傳。包括了可以編譯工程所需的所有程式碼檔案,已經軟體的佈局檔案,但是沒有包括軟體需要的素材,這也是為了避免引起與酷狗播放器的版權問題。

      如果有哪位朋友有完整的音樂庫素材,並且願意免費提供給我把這個專案換一套素材,我將感激不盡!詳細的說明請看《關於仿酷狗音樂播放器開源:尋求一套音樂播放器素材,讓仿酷狗開源》

      開源這個小專案的目的,是為了幫助更多使用DuiLib或者UiLib庫的朋友們,去學習和熟悉這個庫。我個人非常喜歡DuiLib庫,同時也是國內最早的開源DirectUI介面庫。並且DuiLib並不是沒人管的孩子了,DuiLib2.0和DuiLib3.0版本也在開發中,據說DuiLib3.0將是一個跨平臺的介面庫。在此希望DuiLib能發展的更好!

     我在這個專案中使用的是UiLib庫而不是DuiLib庫,UiLib庫是DuiLib庫的擴充套件版本,增加了一些動畫控制元件的支援,擴充套件了部分控制元件,但是核心程式碼並沒有改變,與DuiLib使用方法完全一樣,也可以用UiLib庫直接編譯使用DuiLib庫編寫的程式碼。專案中的UiLib是我為了適應仿酷狗而專門修改過的,也修復過必要的bug,所以如果你使用原版的DuiLib或者UiLib庫去編譯這個功能,最終的程式效果和我釋出的不一樣。關於bug的修復請看部落格中更早期的文章。我自己使用並且維護的DuiLib庫和UiLib庫的下載地址見部落格:《Redrain個人維護並使用的DuiLib和UiLib庫原始碼下載地址》

     看這個程式程式碼的時候建議結合我之前釋出的《仿酷狗音樂播放器開發日誌》系列的文章,我在文章裡說明了開發步驟和思路,再結合這份原始碼便可以完全理解這個專案。

     由於上傳的程式碼中不包括素材,所以直接編譯出來的程式執行後是無素材效果,非常難看的。所以我同時提供了已經內部整合了素材的程式《Redrain音樂盒附帶素材效果.exe》,大家可以通過它看到程式執行的完整真實效果。專案是用vs2012開發的。關於程式執行時記憶體會漲的問題是因為程式使用了wke瀏覽器核心,去掉的話就沒問題了!

 

      在這個專案原始碼中,同時包含了webkit核心瀏覽器控制元件、音樂播放類、換膚功能、拖拽功能、選單等等。關於選單的說明見:《為duilib的MenuDemo增加訊息響應,優化程式碼和顯示效果》,這個選單的功能如下:

        1、可以展現多級選單

        2、可內嵌自定義控制元件,並且控制元件可以向主窗體傳送訊息,如圖的紅色歎號就是個按鈕控制元件,可以製作酷狗音樂的托盤選單的播放暫停按鈕和進度控制進度條。

        3、選單擁有陰影效果

        4、選單可以自定義前方顯示小圖示,並且可以控制圖示的大小和是否顯示

        5、選單可以根據是否擁有子選單決定是否顯示小箭頭

        6、選單可以新增分割線

        7、每個選單項都可以單選和複選的功能

        8、優化選單的xml描述檔案,編寫方便容易,如果要寫一個二級選單,比如編寫圖片中的選單測試4以及他的子選單,只需如下程式碼就可以了

        9、可以通過鍵盤的按鈕控制選單的選項

        10、每個選單項的高度寬度是任意調整的

     在這個專案中,還有一些未實現的功能,但是我並不打算繼續完成這些功能了:

     1、退出程式時逐漸縮小的動畫特效
     2、各個選單的響應
     3、歌詞功能(已經有網友做出來了,我就不另外做了)
     4、嵌入桌面的桌面歌詞

結束語:

   如果程式程式碼中有任何bug,或者對程式碼有疑問,可以在QQ群裡找到我,或者加我QQ。同時開原始碼只是為了學習交流,不可用於商業程式,原始碼對使用者造成的損失,概不負責!

   原始碼下載地址:點選開啟連結

    Redrain  2014.11.12

    QQ:491646717

    E-mail:[email protected]