




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于 j2me 平臺環(huán)境下的手機音樂播放器 摘 要 隨著無線移動通信的高速發(fā)展及各種移動業(yè)務種類的快速增長,一切 互聯(lián)網上的業(yè)務都在移動通信系統(tǒng)中得到應用。然而,由于用戶需求的原 因,或者終端支持與否的因素,并非所有手機都能正確顯示同一信息內容。 而且隨著客戶端設備的類型越來越多,人們對個性化服務的要求越來越高, 個性化信息服務成為將來網絡信息服務發(fā)展的 一個重要的方向。 移動終 端是一種采用先進通信協(xié)議棧的復雜系統(tǒng),它需要具有與許多網絡設備互 操作、支持先進而豐富的多媒體的應用程序。而且, 所有這些都必需在一 個資源有限的嵌入式系統(tǒng)的約束條件下實現。 java 技術提供了跨平臺的 能力,并支
2、持多種器件設備。j2me 和 midp(移動信息器件概覽)可在任 何被支持的系統(tǒng)上運行同樣的應用程 序。java 技術為無線設備創(chuàng)建了一 個全新的開發(fā)平臺,這一平臺可以 跨越多種設備和多個系統(tǒng)平臺。java 的跨平臺特性,使得基于 j2me 的應用程序具有移植性好等其他優(yōu)勢,可 以讓移動通信設備發(fā)揮出最 大的潛能。java 手機作為移動終端為今后移 動通信發(fā)展提供了很好的 解決方案。 本文首先分析了 j2me 在當前移動 終端發(fā)展中所具有的重要角色, 選擇 j2me 作為移動終端軟件開發(fā)平臺的 優(yōu)勢。實際開發(fā)了一個基于 j2me 平臺的音樂播放器軟件,進行了相關理 論和技術的分析。 關鍵詞:
3、midp j2me 音樂播放器 abstract with the rapid development of wireless mobile communication and mobile business types of rapid growth, all business on the internet in mobile communication system. however, because the user demand reasons, or terminal support or factors, not all mobile phone can correctly di
4、splay the same information content. and as the client device type is more and more, people of personalized service of the increasingly high demand, personalized information service become the future network information service is an important developing direction. the mobile terminal is a kind of ad
5、vanced communication protocol stack for complex systems, it needs with the many network interoperability between devices, support for advanced and rich multimedia application. moreover, all of these must be in a resource-limited embedded system under the condition of realization. java technology pro
6、vides a cross-platform capabilities, and support for multiple devices. j2me and midp ( mobile information device profile ) can be in any supported system running the same application. java technology for the wireless device to create a new development platform, this platform can span multiple device
7、s and multiple system platform. the java cross platform characteristic, the application program based on j2me has good portability and other advantages, can make the mobile communication device to play the great potential. java mobile phone as the mobile terminal for future mobile communication deve
8、lopment provides a good solution. this paper firstly analyzes the current j2me in mobile terminal development in the important role, select j2me as a mobile terminal software development platform edge. the actual development of a platform based on the j2me music player software, the relevant theory
9、and technology analysis. key word.: midp j2me music player 目錄 摘 要 ii abstract.ii 第一章 引言.1 1.1課題背景.1 1.1.1 移動終端的發(fā)展現狀.1 1.1.2 個性化服務.1 1.1.3 j2me 在移動終端領域的優(yōu)勢與發(fā)展 .2 1.2 論文成果 .2 1.3 論文組織結構 .2 第二章 j2me 體系結構及技術簡介.2 2.1j2me 的概況.2 2.2j2me 簡介.3 2.2.1 j2me 架構 .3 2.2.2 jvm ( 虛擬機 ).3 2.2.3 midp( 移動信息設備簡表 ).3 第三章
10、系統(tǒng)需求分析和總體設計.4 3.1 系統(tǒng)功能需求.4 3.1.1 播放器界面.4 3.1.2 播放的功能.5 3.1.3 音樂播放音量的控制.6 3.1.4 歌曲播放時間的顯示.6 3.1.5 歌曲的快進與快退.6 3.2 總體設計.6 3.2.1 播放器界面設計.6 3.2.2 播放功能.8 3.2.3 對音量的控制.9 3.2.4 歌曲的播放時間.10 3.2.5 歌曲的快進與快退.10 3.2.6 歌曲進度條的顯示.10 第四章 系統(tǒng)測試與檢驗.11 4.1 測試概要.11 4.1.1 測試的基本概念.11 4.1.2 測試的目的與地位.11 4.2 測試項目.11 4.2.1 測試界面
11、.11 4.2.2 測試播放暫停靜音.12 4.2.3 測試改變音量,快退快進.12 第五章 總結.12 5.1 總結軟件及收獲 .12 5.2 致謝語.13 第六章 參考文獻.13 第一章 引言 1.1 課題背景 1.1.1 移動終端的發(fā)展現狀 當今在全球信息與通信領域中,無線移動通信的發(fā)展之快最引人注目。在 中 國,僅蜂窩移動通信用戶早已跨過億大關,而在全球億的移動用戶已 成事實。 中國在全球范圍內不僅用戶數增長最快,而且移動用戶與固定電話用 戶之比的增 長率也是全球第一。 按照無線移動終端的發(fā)展歷程大致將其分為 三類: 第一類是以語音通信為主的手機,也就是我們傳統(tǒng)意義上的手機,目前 主要
12、 面向低端市場,這類手機的硬件都是圍繞一個單一的基帶處理器搭建的, 該處理 器執(zhí)行電信和其它簡單的應用任務。 第二類是增值業(yè)務手機,也叫多 功能手機,這是目前需求量最大的手機。這 些手機一般面向特定應用,一個功 能強大的基帶處理器芯片實現移動終端的主要 功能,如果基帶處理器不能滿足 諸如視頻處理等功能,可以配套使用一個應用協(xié) 處理器,它面向特定應用。 第三類是智能手機,即高端手機,曾被定義為“擁有操作系統(tǒng)并支持第三方 應 用的手機” 。這類手機中應用處理器成為系統(tǒng)的核心,而等通 信 則成為實現連接功能的外設之一,此外還有其它通信外設,如 、 藍牙、等,并且可能提供統(tǒng)一的擴展接口。智能手機通常要
13、 采用復雜的嵌入 式操作系統(tǒng)為上層應用提供統(tǒng)一的應用接口。并且,智能手機 多備有較大顯示屏, 具有計算和文字處理方面的功能。 從移動業(yè)務的角度看, 目前現有的業(yè)務種類已經是琳瑯滿目,一切互聯(lián)網上 的業(yè)務都在移動通信系統(tǒng) 中得到應用,當然,由于現有網絡質量和帶寬的限制, 它還遠不能給用戶以有 線網絡的體驗,而且有些業(yè)務在目前條件下也只是概念上 的炒作。然而,并非 所有的業(yè)務都能順利推出,其中有用戶需求的原因,也有終端支持與否的因素, 并非所有終端都能對統(tǒng)一網站的內容正確顯示,并非所有手機都能正確顯示同 一信息內容而且隨著客戶端設備的類型越來越多,人們對個性化服務的要求 越來越高,個性化信息服務成
14、為將來網絡信息服務發(fā)展的一個重要的方向。 1.1.2 個性化服務 個性化服務是網絡又稱為個性化定制服務,是根據客戶的特性提供具有針 對 性的信息內容和系統(tǒng)功能;就是將用戶感興趣的內容提供給客戶,在某一特 定的 網上功能和服務方式中,由用戶自己設定網上信息的來源方式、表現形式、 特定 網上功能及其他網上服務方式等。個性化服務,就是針對不同的用戶,采 用不同 的服務策略和方式,提供不同的信息內容的服務。 在信息發(fā)布尤其是 大范圍的信息發(fā)布時,所有的客戶端收到的信息都是相同 的,而如果客戶端移 動設備的硬件或軟件類型不適合顯示服務器發(fā)布的信息,比 如屏幕不夠大、不 支持某種解碼方式等,那客戶端在信息
15、的接收上就會受到影響。 至于允許客戶 端自己選擇顯示方式,那更是不可能的事情。而且隨著客戶端設備 的類型越來 越多,人們對個性化服務的要求越來越高,這個問題更加突出。于是 人們開始 探索客戶端與服務器端是否能進行“內容協(xié)商” ,即客戶端通過某種方式告訴服 務器端,客戶端的信息表達環(huán)境是怎樣的,以及客戶需要什么樣的信息。而我 們要做的手機音樂播放器也是需要個性化的,我們會在已有的播放器基礎上再 添加以下個性化的元素進去,讓用戶用的舒心,省心。 1.13 j2me 在移動終端領域的優(yōu)勢與發(fā)展 java 語言是由美國 sun 公司在 1995 年設計的,原是為機頂盒這種 嵌入式系統(tǒng)設計的,但并沒有在
16、嵌入式領域得到發(fā)展,隨著 internet 的普及 java 占領了 pc 端和 server 端,現在 java 又回到了嵌入式領域。為了和 pc 端、server 端的 java 相區(qū)別,用于嵌入式系統(tǒng)的 java 被稱為 java 2 micro edition 簡稱 j2me。針對有限記憶體,顯示和處理能力的設備,主要是消費電 子和嵌入式設備領域。 java 是惟一可以在各種操作設備上創(chuàng)建應用的技術。 它極大地提高了曲 的交互性,使 web 從單純的靜態(tài)文本形式變成了豐富多 彩的可執(zhí)行程序形式。java 的一個重要特點是平臺無關性。java 程序均被 編譯成一種虛擬器代碼,在被稱為 j
17、ava 虛擬機的解釋器上執(zhí)行,因此只要一 個操作系統(tǒng)帶有 java 解釋器,或者 web 瀏覽器帶有 java 解釋器,java 程 序就可以執(zhí)行。java 語言的平臺無關性 成功地解決了 internet 上的異質問題。 移動資訊設備的主要操作系統(tǒng)平臺都是開放的,j2me 的標準也是開放的,因 此基本上所有的主要操作系統(tǒng)平臺都支持或將支持 j2me,這帶來的廣闊市場 和真 正的“一次編寫,到處執(zhí)行”是任何其他技術無法比擬的。對于開發(fā)者而 言,可以不受作業(yè)系統(tǒng)的限制,不用擔心在這個多邊的市場上因平臺的變化而 影響自己的應用。 j2me 和 midp 可在任何被支持的系統(tǒng)上運行同樣的應用程 序。
18、這樣,服務提供商也可采用來自多個制造商的不同的設備,而無需對每個 設備單獨進行支持。 java 語言的跨平臺特性使第三方軟件開發(fā)商可以很容易 地介入進來開發(fā)應 用程序,也可以方便地將應用程序安裝部署到移動通信設備 上,大大縮短了開發(fā)周期。j2me 提供的 http 協(xié)議,使移動電話能以 client sever 的方式直接訪問網絡 的全部信息,不同的 client 訪問不同的文件,此外 還能訪問本地存儲區(qū),實現交互式服務,超出了現在的基于文本的靜態(tài)內容服 務。本課題就是基于 j2me 開發(fā)的在移動終端運行的音樂播放器。 1.2 論文成果 本論文分析了 j2me 在當前移動終端發(fā)展中所具有的重要
19、角色,選擇 j2me 作為移動終端軟件開發(fā)平臺的優(yōu)勢。以實際開發(fā)的一個基于 j2me 平臺的 手機應用功能為基礎,進行了相關理論和技術的分析。 1.3 論文組織結構 本論文共分為六章,各章節(jié)的主要內容安排如下 第一章緒論簡單陳述了移動終端在當今社會中的發(fā)展,以及選擇 j2me 作為移動終端開發(fā)的優(yōu)勢,并簡要分析了能力協(xié)商的需求。 第二章詳細 介紹了 j2me 平臺的體系結構,結合項目內容闡述了 j2me 技術在移動終端中 的應用。 第三章對手機音樂播放器進行了系統(tǒng)的分析。 第四章系統(tǒng)的介紹了 采用 j2me 做出來的結果。 第五章針對本文做了簡要的總結與對下一步的研究 工作的展望。 最后是本文
20、的參考文獻列表和致謝。 第二章 j2me 體系結構及技術簡介 2.1 j2me 的概況 j2me 的全稱是 java2 micro edition (j2me)java2 技術微型版,與 j2se, j2ee 一樣都是有美國 sun 微系統(tǒng)公司提出的 java 技術規(guī)范. 2.2 j2me 簡介 j2me 是為了能夠開發(fā)運行在小型設備,獨立設備,互聯(lián)移動設備,嵌入 式設 備上的 java 應用程序而被提出的.j2me 是建立在一個由概要描述,配置, java 虛擬機和操作系統(tǒng)等部分組成的標準架構之上的,這些內容共同組成了完 整的 j2me 實時運行環(huán)境.它的技術核心是由一個 java 虛擬機(
21、 jvm )及一套 適合 運行在上述設備環(huán)境上的 api 接口構成. j2me 在 1999 年的 javaone 開發(fā)人員大會上初次亮相,它的目標是面向智能 無線設備和小型計算設備的開 發(fā)人員,這些開發(fā)人員需要在他們的產品中整合跨 平臺的能力. 無線設備和小型 計算設備的消費者期望這些設備能夠有較高的性能.他們希 望小型計算設備有 快速的響應時間,與同種設備相兼容,擁有功能完備的應用程 序.消費者希望桌面 計算機和筆記本電腦上的軟件和功能同樣能夠運行在移動電 話和個人數字助理 上. 為了滿足他們的需求,開發(fā)人員必須重新考慮他們設計計算機系統(tǒng)的方式. 開發(fā)人員需要利用商業(yè)計算機上現有的前端和后
22、端軟件的計算能力,并將這些能 力傳遞到微型,移動和無線的計算設備上.j2me 能夠以最小的修改來實現這種傳 遞,如果應用程序的設計是可伸縮的,應用程序就可以適應小型計算設備上有限 的資源.j2me 為在小型電子設備上創(chuàng)建性能卓越的網絡應用提供了一套完整的 解決 方案,能很好的解決軟件跨平臺的兼容性和安全性的問題. 2.2.1 j2me 架構 j2me 架構的模塊化設計使應用程序可以靈活適應小型計算設備的限制. j2me 架構沒有替代小型計算設備的操作系統(tǒng).相反,j2me 架構由位于原生操作 系統(tǒng)之 上的多層軟件組成,這些軟件共同稱為連接有限設備配置 (connected limited dev
23、ice configuration, cldc) .安裝在操作系統(tǒng)之上的 cldc 形成了小 型計算設備 的運行時環(huán)境. j2me 架構由 3 個軟件層組成:第一層是包括在內 的配置層,這個層次直接與 原生操作系統(tǒng)進行交互. 配置層還處理 profile 和 jvm 之間的交互. 第二層是 profile 層, 由小型計算設備的應用程序編程接口 (api) 的最小集合組成. 第三層是 mobile information device profile( midp )層. midp 層由用戶網絡連接,永久存儲和用戶 界面的 java api 組成.它還能夠訪問 cldc 庫和 midp 庫. 2
24、.2.2 jvm ( 虛擬機 ) jvm 是專門為微型電子設備與資源受限設備如:手機,尋呼機,移動互聯(lián)網 設備,家用微電子設備等設計的一種輕便,緊湊的 java 虛擬機. jvm 可以為微 型電子設備提供一個完整的 java 運行環(huán)境, 除了一些微型設備 所必需的適 當的功能有所不同外,它是由 java 虛擬機規(guī)范定義的真實的 java 虛 擬機. 它是專門為那些受資源限制,只有幾百 k 字節(jié)內存的微型設備設計的. jvm 起 初是由 sun 微系統(tǒng)實驗室為一個名叫spotless的項目創(chuàng)建的.它的 目標是為 資源受限制的 palm(是目前較為流行的掌上電腦操作系統(tǒng))可連接的電 子設備, 實現
25、一個 java 虛擬機. 基于上述原因,jvm 具有以下幾個特點: (1)小,僅具有 40kb 至 80kb 的靜態(tài)內存.(2)輕便,精巧. (3)模塊化并可定制. (4)盡可能完全緊 湊的完成設計目的. 2.2.3 midp( 移動信息設備簡表 ) ( midp 是專門為互聯(lián)受限設備配置設計的,它為移動設備提供了一套 api 集 合,midp 包含用戶界面類,持久存儲功能與網絡功能.它同時也包括一個供用 戶 下載新應用到終端設備的標準運行環(huán)境. 運行在 midp 下的小應用程序叫 做 midlet 移動設備小應用程序,它與 applet 類似.midp 要求平臺設備提供一 個機制用來 存儲簡
26、單的數據記錄,通過正常的平臺事件,比如重新啟動和電池更 新維護系統(tǒng) 的完整性. midp 是以 sun, motorola, nokia 為中心的 midpeg 組織 (mobile information profile expert group)所制訂出來使用在 cldc 上的 profile,是以能使用在移動電 話,雙向對講機,可無線通信的 pda(個人數字助理) 上面為前提設計出來的. 另外,像日本國內的 ntt docomo,j-phone,kddi 等 電信商與移動電話制造 商也都曾參與了 midpeg. midp 是在 cldc 的功能 上附加提供適合目標設備用的 gui 與事件
27、處理功 能.這樣一來,就可以當成 midp 應用程序(midlet)來運行了. midp 由于是由多個企業(yè)所共同策劃出來的 開放標準, 因此主要的移動電話制 造商也會制造出大量的對應機種.也就是說, 以 midp 為基準所制作出來的應用 程序,也將可以在流通于市面上的移動電話 上執(zhí)行. 另外, midp 不僅限于移動電話, 也已經被移植到 pda palm os 上, 而 以 midp for palm os 的名字來稱呼(與 kjava 是不同的) .在不使用各電信商的 擴展 api 的時候,制作給移動電話用的 midlet 也將可以使用在 palm os 上面.由 于未來 midp 也將會
28、搭載到不同設備之上,也由于其兼容性高,只要寫過一次程 序,就可 以在其他移動電話或是移動電話以外的設備上執(zhí)行;而這也就是它最大 的好處.。 第三章 系統(tǒng)需求分析和總體設計 3.1 系統(tǒng)功能需求 本部分介紹我們制作的這個軟件希望去實現以及可以實現的一些功能,還 有就是從總體上介紹我們怎么分析設計這個軟件。 3.1.1 播放器界面 本播放器界面我們是采用了 qq 音樂的模式,如下圖: 其中顏色有幾種不同變化,可通過按鍵來改變,這個會在總體設計介紹。 3.1.2 播放的功能 首先,音樂播放器實現的功能就是對音樂的播放,在這部分我們是把音樂 內嵌在程序中,通過 public void playaudi
29、o(int snd) 實現了音樂的播放,即以下 程序: public void playaudio(int snd) / no player, create one if (soundssnd = null) createsound(snd); / start player player player = soundssnd; player.setloopcount(10);/ 這個地方是循環(huán)次數 if (player != null) try player.start(); catch (mediaexception e) e.printstacktrace(); / 創(chuàng)建播放器開始播放歌曲
30、 而通過以下程序來實現開始播放和停止播放的功能,這是用到了監(jiān)聽鍵盤 鍵的方法,通過對 start 和 stop 鍵進行監(jiān)聽,來達到控制開始和停止播放的功能。 public void startsound(int snd) try soundssnd.start(); catch (mediaexception e) e.printstacktrace(); /播放音樂 public void stopsound(int snd) if (soundssnd != null) try soundssnd.stop(); catch (mediaexception e) e.printstackt
31、race(); / 停止音樂 其截圖的圖標如下: 3.1.3 音樂播放音量的控制 (1)對音樂音量的控制,首先是靜音與不靜音,這個也會用到自己寫的函數 public void letquiet()和 public void letnotquiet()這兩個函數來控制,具體代碼這 里不做介紹,其圖標在手機屏幕上會有顯示,圖標分別如下: off on (2)對音量的控制,體現在音量大小,這個我們會用到 setvoicelevel 方面的 內容,通過 volumecontrol 變量來實現對音量大小的控制,而具體的 sounds 值我們會通過以下代碼獲得并調用進而顯示在屏幕上: public int
32、 getvoicelevel() return volc.getlevel(); / 音量大小的獲得 以下這個圖標即音量大小在屏幕上的顯示: 3.1.4 歌曲播放時間的顯示 (1)totaltime 函數,利用該函數得到歌曲的總時間,然后顯示在屏幕上,即 這個總時間會始終一樣的顯示在屏幕上。 (2)歌曲當前播放時間,利用 gettime 函數來得到當前歌曲的播放時間,然后 顯示在屏幕上,即 這個時間會隨著播放時間不斷變化的顯示 在手機屏幕上。 3.1.5 歌曲的快進與快退 這個功能其實與上面播放時間的顯示是一樣的,因為只要播放的時間改變即 能實現歌曲的快進與快退,settimemusic 函數
33、來得到該時間,而長按前進鍵或 者后退鍵即能達成這一目標 3.1.6 進度條的顯示 在總體設計中會解釋,截圖如下: 3.2 總體設計 3.2.1 播放器界面設計 播放器界面是采用了比較大眾的一種方式,長寬比例按照程序手機模板大小來 制作,而界面上面具有的一些圖標都是由以下程序來完成: public musiccanvas() super(false); width = this.getwidth(); height = this.getheight(); this.setcommandlistener(this); try back = image.createimage(/qq_music.p
34、ng); back1 = image.createimage(/qq_music2.png); back2 = image.createimage(/qq_music1.png); meun1 = image.createimage(/meun.png); circle = image.createimage(/circle.png); audio_on = image.createimage(/audio_on.png); audio_off = image.createimage(/audio_off.png); for (int i = 0; i 8; i+) imgi = image.
35、createimage(/pic/ + i + .png); catch (ioexception e) e.printstacktrace(); 其中 back1 設置為灰色即以下界面 其中 back2 設置為紅色,即: back3 設置為藍色,即: 通過按鍵 3 來改變界面顏色,是通過以下程序實現: if (bk = 1) g.drawimage(back, 0, 0, graphics.left | graphics.top); else if (bk = 2) g.drawimage(back1, 0, 0, graphics.left | graphics.top); else if
36、 (bk = 3) g.drawimage(back2, 0, 0, graphics.left | graphics.top); 即改變界面顏色。 3.2.2 播放功能 播放功能通過public void playaudio(int snd)函數來實現,歌曲內嵌在程序內,需 要通過 public void playaudio(int snd) / no player, create one if (soundssnd = null) createsound(snd); / start player player player = soundssnd; player.setloopcount(
37、10);/ 這個地方是循環(huán)次數 if (player != null) try player.start(); catch (mediaexception e) e.printstacktrace(); 程序段來實現播放,至于播放暫停則是對鍵盤按鍵的監(jiān)聽來實現的,這部分很 簡單,程序如下: public void stopsound(int snd) if (soundssnd != null) try soundssnd.stop(); catch (mediaexception e) e.printstacktrace(); / 停止音樂 public void startsound(in
38、t snd) try soundssnd.start(); catch (mediaexception e) e.printstacktrace(); /播放音樂 播放的初始音樂音量我們設置在50,即通過 th.start(); aud.setvoicelevel(50, select_music);/ 設置初始音量 來實現。截圖如下: 3.2.3 對音量的控制 (1)首先確定靜音與否,這個是通過函數let quiet 和let not quiet 來實現,程 序如下: public void letquiet() volc.setmute(true); / 設置靜音 public void
39、letnotquiet() volc.setmute(false); / 設置不靜音 public boolean getquiet() return volc.ismuted(); / 獲得靜音與否的狀態(tài) 靜音是通過按鍵8來獲得,通過監(jiān)聽按鍵程序來實現,即用audio off 表示靜音 狀態(tài),讓按下按鍵8成為實現該狀態(tài)的事件,當用戶按下按鍵8時程序會觸發(fā)該 事件,實現靜音。 (2)改變音量大小 也是通過鍵盤監(jiān)聽來實現,很簡單,最大音量設置為100,最小音量設置為0, 每次按鍵4或者6會減小或增大音量2。即以下程序段來實現: case 55:/減小音量 now_volume = aud.get
40、voicelevel(); aud.setvoicelevel(now_volume - 2), select_music); system.out.println(aud.getvoicelevel(); break; case 57:/增大音量 now_volume = aud.getvoicelevel(); aud.setvoicelevel(now_volume + 2), select_music); system.out.println(aud.getvoicelevel(); break; 程序中的case 55和case57分別代表按鍵4和按鍵6,即實現了鍵盤監(jiān)聽,完成對 音
41、量的控制。 3.2.4 歌曲的播放時間 (1) 歌曲的總體時間 歌曲的總體時間都是固定的,它會顯示在屏幕右下角,如圖: (2) 歌曲的播放時間 歌曲的播放時間是隨著歌曲播放不斷變化的,它由如下程序段獲得: public float gettime(int snd) return soundssnd.getmediatime(); / 獲得歌曲當前播放時間 該時間會被稱為new time 位置在total time 下面,隨著播放時間的變化而變化。 3.2.5 歌曲的快進與快退 歌曲的快進與快退其實就是歌曲播放時間的變化,也是對按鍵實現監(jiān)聽,長按 前進或者后退鍵會出現快進或者快退的效果,而這個快
42、進或快退的時間多少由 以下程序獲得: public void settimemusic(int snd, long gooing) if (soundssnd != null) try soundssnd.setmediatime(gooing); catch (mediaexception e) e.printstacktrace(); / 設置歌曲前進后退的時間 3.2.6 歌曲進度條的顯示 以下程序段實現進度條的顯示: if (key5) random(); / 進度條 f3 = (int) (f2 * 230 / f1);/ 時間比 / f3 = f2; g.fillroundrect
43、(5, 87, 230, 8, 10, 360); g.setcolor(0, 128, 255); g.fillroundrect(5, 87, f3, 8, 10, 360); g.drawimage(circle, f3, 84, graphics.top | graphics.left); 這是在 j2me 中慣有的一種進度條設置方式,先用畫筆畫一個圓角矩形,給其 填充顏色為黑色,作為進度條的背景顏色,然后從左端畫一條藍色的圓角矩形, 動態(tài)的隨著時間的變化而覆蓋掉之前黑色的進度條,從而顯示出播放的進度。 截圖如下: 至此大致已完成了我們 j2me 音樂播放器的分析設計過程。 第四章 系統(tǒng)測試與檢驗 4.1 測試概要 4.1.1 測試的基本概念 軟件開發(fā)過程必須伴有質量保證活動。軟件測試是軟件質量保證的關鍵元 素,代表了規(guī)約、設計和編碼的最終檢查。軟件測試是軟件質量保證的關鍵階 段,是對軟件設計和編碼的最終檢查。軟件測試的目的是找出錯誤所在,而不 是說明程序能正確地執(zhí)行它應有的功能,也不是表明程序沒有錯誤。相反,軟 件測試是為了發(fā)現錯誤。 4.1.2 測試的目的與地位 (1) 測
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 7《中華民族一家親》 教學設計-2023-2024學年道德與法治五年級上冊統(tǒng)編版
- 9 改變世界的四大發(fā)明 改變世界的四大發(fā)明 教學設計-2024-2025學年道德與法治五年級上冊統(tǒng)編版
- 居間介紹傭金合同范本
- 果園托管合同范本
- 21 古詩詞三首-楓橋夜泊教學設計-2024-2025學年五年級上冊語文統(tǒng)編版
- 紅城租房合同范本
- 5《七律·長征》教學設計-2024-2025學年統(tǒng)編版語文六年級上冊
- 地面保潔合同范本
- 7《湯姆·索亞歷險記》(節(jié)選)教學設計-2024-2025學年統(tǒng)編版語文六年級下冊
- 2024年九年級數學中考專題 反比例函數 教學設計
- 2024版研學項目合作協(xié)議合同范本
- 2023-2024學年四川省眉山市東坡區(qū)七年級(上)期末數學試卷
- 有理數總復習市公開課一等獎省賽課微課金獎課件
- 幼兒園安全園本培訓
- 化工裝置管道設置緊急切斷閥的依據規(guī)范(一)
- (高清版)DZT 0284-2015 地質災害排查規(guī)范
- 七十歲老人三力測試題庫答案
- 實驗室儀器借用登記表
- 深圳職業(yè)技術學院申報國家示范院校項目匯報材料Pow
- 認識危險(小班安全第一課)-圖文
- 2024年國家基本公衛(wèi)-老年人健康管理-考試復習題庫(含答案)
評論
0/150
提交評論