【正文】
組的功能,但是 Beoplayer 不支持歌詞顯示,使得對于流行歌曲的播放上很不方便。目前國內(nèi)比較流行的音樂播放器有:酷狗、 windows media player、 音樂盒、酷我音樂盒等。網(wǎng)絡(luò)上有不少的研究者熱衷于播放器的研究,利用控件或者是 MCI 接口開發(fā)自己的播放器,并且取得了很大的進步,推動了播放器的發(fā)展。 AIR 是可以跨平臺的,就像 java 一樣,只要有個虛擬機,在任何硬件或軟件系統(tǒng)平臺上都可以運行。開發(fā)者可以使用代碼提示和調(diào)試工具,對 Flex 應(yīng)用程序進行高效的的編碼和調(diào)試。 Flashbuilder 應(yīng)用就是用容器搭建起來的,組件是在容器中排列的。 6 圖 容器結(jié)構(gòu)的嵌套顯示 結(jié)構(gòu) 開發(fā)語言 開發(fā)語言簡介 ActionScript 動作腳本是遵循 ECMAscript 第四版 的 Adobe Flash Player 運行時環(huán)境的編程語言。你也可以使用 MXML 聲明來定義程序中的非可視化組件,比如 對服務(wù)器端數(shù)據(jù)源的訪問以及用戶界面組件和數(shù)據(jù)源之間的數(shù)據(jù)綁定。 開發(fā)語言 主要功能 ActionScript 提供了可靠的編程模型,具備面向?qū)ο缶幊痰幕局R的開發(fā)人員對此模型會感到似曾相識。 8 第三章 酷豬 音樂播放器 總體設(shè)計 總體功能設(shè)計 由于 本 軟件的 主要的使用者是 濱州學(xué)院計算機科學(xué)技術(shù)系 計算機科學(xué)與技術(shù)專業(yè) 的師生,考慮到 使用人 的 計算機 硬件設(shè)備和軟件設(shè)備 相對比較先進 、學(xué)生的 計算機 能力水平 比較高超,所以本軟件的一些功能就不再在幫助中展示 ,在算法上盡量采用了中庸的算法 。 歌詞播放部分:在播放音樂的同時 ,播放器查找與音樂文件相同目錄下的且文件名相同的歌詞文件 ,如果本地存有與該音樂文件文件名相同的歌詞文件( .lrc 文件),則此時歌詞是同步播放的 ,否則歌詞窗口顯示“酷豬音樂,只為你我傳播好音樂” 。比如用戶設(shè)置了“提醒”, 內(nèi)容是 “ 今天 18:30 需要開會 ” ,這時倒計時器將獲取系統(tǒng)中所有“提醒”,如果系統(tǒng)中有更靠前的提醒, 排序后, 就這個“提醒”先存儲在系統(tǒng)中等候調(diào)用 ,如果系統(tǒng)中沒有更靠前的提醒,則通過計算現(xiàn)在時刻與“提醒時間”的時間差來設(shè)置計時器,然后再界面上倒計時。 XML 提供統(tǒng)一的方法來描述和交換獨立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù) [9]。因為沒有網(wǎng)絡(luò)的支持,故這些數(shù)據(jù)只能存儲在用戶的本地硬盤中 。 不但能節(jié)省存儲空間,而且格式 化后的數(shù)據(jù)便于讀取和管理。 代碼舉例如下: ?xml version= encoding=utf8? s:WindowedApplication xmlns:fx= xmlns:s= xmlns:mx= xmlns:ns1=* width=712 height=636 autoLayout=true creationComplete=creatComplete() fontSize=12 xmlns:ponents=.* 以上代碼說明如下: MXML 文件不能命名為“ WindowedApplication”,“ WindowedApplication”是主程序文件所采用的默認標記,不可以再用,也不能和程序中任一組件的 id 值同名 [10]。 creationComplete=creatComplete()表示在程序窗口創(chuàng)建完成后觸發(fā)的方法為 creatComplete()。它是通過在 Application 標簽中使用一個獨一無二的 URL 來聲明的。 這種類是預(yù)定義的,不需要用戶再次自定義,而且這種類我們不需要通過定義 變量的方式來初始化。 這種可視化的編程環(huán)境使編碼簡單 明了,使用方便。 主要方法及功能如下: // 播放 /暫停按鈕 protected function play_pause_Btn_clickHandler(event:MouseEvent) //拖放進度條 protected function playingProcess_changeHandler(event:Event) //雙擊播放列表中的音樂文件 protected function playerList_change_Handler(event:MouseEvent) 歌曲播放 順序 主要代碼 通過控制下一首音樂在播放器列表中的位置,然后達到“全部循環(huán)”、“順序循環(huán)”、“單曲播放”。 //搜索音樂 protected function search_Btn_clickHandler(event:MouseEvent) 17 歌詞播放主要功能代碼 有 人喜歡一邊聽音樂,一邊跟著音樂的節(jié)奏哼唱 ,或者 可能會大聲地唱出來。 圖 酷豬音樂歌詞播放流程 歌詞信息顯示 及播放 代碼 //顯示歌詞的方法 protected function lrcOperation(event:Event) protected function getNewTimer(off:int = 0) protected function getNextLrc(event:Event) 根據(jù)歌曲文件名獲取歌詞文件( .lrc) 文件存在 按二進制編碼讀取文件內(nèi)容 文件不存在處理 轉(zhuǎn)碼為 GBK 編碼的字符串 將 GBK 編碼內(nèi)容存入 Array 處理后的 GBK 編碼內(nèi)容 將 Array 內(nèi)容逐個顯示 播放完,下一首歌曲歌詞 18 歌詞去除廣告信息 在歌詞文件中, 經(jīng)常會出現(xiàn)很多廣告信息,比如某人的 qq 號碼、電話,甚至公司的廣告,這些信息嚴重影響我們欣賞音樂的心情,故本音樂播放器對于這些信息進行了簡單的 處理 ,通過掃描歌曲的所有歌詞信息 ,刪除了這些垃圾信息,填上本音樂播放器的“宗旨” —— “酷豬音樂,只為你我傳播好音樂”。 //歌詞信息讀取的方法 protected function selected_Handler(event:Event) 歌詞信息廣告刪除主要代碼 歌詞信息廣告刪除 原理: 19 圖 酷豬音樂刪除廣告信息流程 本地歌曲掃描 用戶往往會將音樂 和歌詞 存儲在本地硬盤的一個文件夾中,以便于管理,本音樂播放器支持掃描本地硬盤文件夾的功能,能一次性將 一個文件夾的內(nèi)容掃描生成一個列表。 將該行內(nèi)容替換字符串中內(nèi)容 處理完,按 GBK 編碼寫回文件 20 protected function fileScan_Btn_clickHandler(event:MouseEvent) protected function showFile(event:Event) 生成掃描結(jié)果( xml 文件) 主要代碼 Xml 文件生成原理: 圖 酷豬音樂 xml 文件生成原理 創(chuàng)建一個字符串,用來存放 xml 文件內(nèi)容 掃描用戶選擇的目錄,將獲取到的 MP3 文件信息轉(zhuǎn)碼后存入字符串。 圖 軟件 功能模塊導(dǎo)航 點擊 軟件界面的 各 個按鈕進行 以下測試: 音樂播放部分: (1) 音樂掃描 對于存在硬盤上的 mp3 文件夾,本播放器可以一次性添加進入播放列表。 測試結(jié)果 下圖所示 。 本軟件的 常用工具所產(chǎn)生的數(shù)據(jù)都存放在“ D:\kuku\tool”目錄下,各種kztd(KuZhu Tool Data)文件分別表示不同的工具產(chǎn)生的數(shù)據(jù)。點擊“查看”按鈕則可以看到當前已有的所有“提醒”,并且將計時顯示該提醒的所有內(nèi)容。 28 圖 用戶 設(shè)置“記事本” (3) 鬧鐘 按照設(shè)定的時間,在每周的同一時間提醒用戶。 通過點擊“新建”打開“新建便簽”窗口,然后輸入信息,輸入完畢后,再點擊“添加 +”按鈕,則提示用戶創(chuàng)建成功。點擊“查看”按鈕則可以看到當前已有的所有“約會”,并且將計時顯示該約會的所有內(nèi)容。 32 常用工具部分后臺調(diào)試 常用工具主要 需要處理的是用戶自定義的數(shù)據(jù)、 軟件在使用 過程中產(chǎn)生的數(shù)據(jù)在本地硬盤的存放。 我會 努力 改進播放器的性能,使它滿足大家的多方面的需求。 而且在開發(fā)過程中出現(xiàn)了好多次代碼混亂的問題,導(dǎo)致軟件源代碼中重復(fù)代碼量可能比較多。且不可以心急求成而忽略軟件的詳細設(shè)計這個步驟。 由于開發(fā)經(jīng)驗的欠缺和作者專業(yè)知識有限,軟件內(nèi)部存在很多問題,而且在邏 34 輯上存在很多漏洞,希望老師們和同學(xué)們批評指正,我一定努力改正,將酷豬音樂播放器進一步完善和升級,也希望同行專家學(xué)者幫忙改進和維護,爭取做一個 綠色無廣告的功能完善的音樂播放器。 感謝那些給我提供算法參考和軟件結(jié)構(gòu)參考的同學(xué) , 沒有你們就沒有現(xiàn)在的酷豬音樂播放器。t agree with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dismissed unfairly. For more informu, take advice from one of the anisations listed under Fur ther help. Employment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation. Most people find making a claim to an employment tribunal challenging. If you are thinking about making a claim to an employment tribunal, you should get help straight away from one of the anisations listed under Further help. ation about dismissal and unfair dismissal, see Dismissal. You can make a claim to an employment tribunal, even if you haven39。s 150th anniversary celebrations and will attend City39。s governing body, has also ordered an immediate investigation into the referee39?;蛟S是愧疚于自己似乎把轉(zhuǎn)瞬即逝 的很多個不同的日子過成了同一天的樣子;或許是追溯過去,對自己那些近乎偏執(zhí)的怪異信念 的醒悟,這些天以來,思緒一直很凌亂,在腦海中不斷糾 纏。 Junior high school, thought to have a crush on just means that the real growth, but over the past three years later, his writing of alumni in peace, suddenly found that isn39。t remember his appearance. Baumgartner the disappointing news: Mission aborted. r plays an important role in this mission. Starting at the ground, conditions have to be very calm winds less than 2 mph, with no precipitation or humidity and limited cloud cover. The balloon, with capsule attached, will move through the lower level of the atmosphere (the troposphere) where our daytoday weather lives. It will climb higher than the tip of Mount Everest ( miles/ kilometers), drifting even higher than the cruising altitude of mercial airliners ( miles/ kilometers) and into the stratosphere. As he crosses the boundary layer (called the tropopause),e can expect a lot of turbulence. We often close ourselves off when traumatic events h