《智能手機多功能電子琴系統(tǒng)設(shè)計.ppt》由會員分享,可在線閱讀,更多相關(guān)《智能手機多功能電子琴系統(tǒng)設(shè)計.ppt(45頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、智能手機多功能電子琴系統(tǒng)設(shè)計,導(dǎo) 師:沈在愛 答辯人:林劍國 專 業(yè):電子信息工程,Multi-function Electronic Keyboard System Design for Smartphone,智能手機多功能電子琴系統(tǒng)設(shè)計,課題研究背景 開發(fā)環(huán)境介紹 系統(tǒng)設(shè)計過程 總結(jié),,,,,我為什么要選擇這個課題?,個人喜歡手機軟件開發(fā) Java手機上還沒有一款真正意義的電子琴軟件 研究成果很具有市場價值,,,,課題研究背景,,7億多,中國現(xiàn)有手機用戶,國內(nèi)手機軟件市場潛力巨大,課題研究背景,,行業(yè)背景,Symbian,Linux,Windows,Paml OS,MAC OSX,Othe
2、r,智能手機操作系統(tǒng)市場份額,課題研究背景,,Symbian占據(jù)了智能手機系統(tǒng)的半壁江山而Symbian手機都支持Java平臺,所以基于Java手機平臺的軟件市場需求是十分龐大的。,智能手機操作系統(tǒng)市場份額,課題研究背景,,開發(fā)環(huán)境介紹,開發(fā)平臺: 開發(fā)工具:,,,,J2ME,NetBeans,J2ME,定義:它是Java手機平臺的技術(shù)規(guī)范,優(yōu)點:可移植性好,繼承了Java語言的優(yōu)良特性,開發(fā)環(huán)境介紹,,,開發(fā)平臺,Net,它是J2ME應(yīng)用程序開發(fā)工具,優(yōu)點:功能齊全,使用方便簡潔且免費,開發(fā)環(huán)境介紹,,Beans,開發(fā)工具,,J2ME+NetBeans,電子琴系統(tǒng),系統(tǒng)設(shè)計過程,系統(tǒng)設(shè)計功能
3、簡介 該電子琴系統(tǒng)主要要實現(xiàn)的功能有: 1、能顯示電子琴鍵盤 2、彈奏要能發(fā)音 3、其它擴展功能,,系統(tǒng)設(shè)計流程圖,系統(tǒng)設(shè)計過程,,電子琴系統(tǒng)主類MIDlet: 它控制著整個程序的運行,擁有管理程序的創(chuàng)建、開始、暫停和結(jié)束的函數(shù)。,系統(tǒng)設(shè)計過程,,電子琴系統(tǒng)閃屏的實現(xiàn),啟動閃屏:用于載入Logo畫面,默認程序進入界面為橫屏顯示,Logo畫面并不是必須的,但它增加了軟件的吸引力。,系統(tǒng)設(shè)計過程,,電子琴系統(tǒng)啟動動畫的實現(xiàn),動畫實現(xiàn)的最簡單方法就是把動畫的每一幀制作成圖片, 然后按順序顯示各個幀的圖像,觀察者會由于視覺殘留效應(yīng), 就會覺得是動畫在播放。 本軟件啟動動畫只用一張圖片,該圖片是一
4、張帷幕,在開 始顯示電子琴主界面前拉開,很形象。,系統(tǒng)設(shè)計過程,,帷幕之后就是優(yōu)美的電子琴界面,該動畫通過線程完成,將這張帷幕圖片在屏幕上延時依次重繪實現(xiàn)。,,電子琴系統(tǒng)GameCanvas類的實現(xiàn),GameCanvas實現(xiàn)的流程圖,系統(tǒng)設(shè)計過程,,初始化電子琴系統(tǒng)界面,clearScreen(g)方法初始化電子琴系統(tǒng)背景 drawMusicName(g)方法初始化樂器名稱 drawDot(g)初始化音階點,電子琴系統(tǒng)GameCanvas類的實現(xiàn),系統(tǒng)設(shè)計過程,,public void clearScreen(Graphics g) try imgBG= Image.creat
5、eImage(/Res/+skin+/BG+h+.png); imgBG1= Image.createImage(/Res/+h+.png); catch (Exception e) g.drawImage(imgBG, 0, 0, Graphics.TOP | Graphics.LEFT); g.drawImage(imgBG1, 0, 0, Graphics.TOP | Graphics.LEFT); Image.createImage (“png圖片路徑”)用來創(chuàng)建Image對象, drawImage( )方法用于繪制Image對象中的圖像。,電子琴系統(tǒng)背景初
6、始化clearScreen(g),初始化電子琴系統(tǒng)界面,完成的初始化電子琴系統(tǒng)界面,真實的電子琴鍵盤彈奏效果莫非兩個狀態(tài),即按下和彈起狀態(tài), 所以為了實現(xiàn)電子琴鍵盤動畫顯示,定義了兩個方法KeyDown和 KeyUp,用來實現(xiàn)電子琴鍵盤的按下與彈起狀態(tài)顯示。,電子琴鍵盤動態(tài)效果顯示,電子琴系統(tǒng)GameCanvas類的實現(xiàn),系統(tǒng)設(shè)計過程,,KeyDown,,電子琴鍵盤動態(tài)效果顯示,電子琴系統(tǒng)GameCanvas類的實現(xiàn),系統(tǒng)設(shè)計過程,,KeyUp,,電子琴鍵盤動態(tài)效果顯示,電子琴系統(tǒng)GameCanvas類的實現(xiàn),系統(tǒng)設(shè)計過程,,playWave(int i); 該模塊實現(xiàn)了電子琴根據(jù)按下的不同按
7、鍵實現(xiàn)不同音調(diào)播放,變量i參數(shù)范圍為1,2,3,4,5,6,7,分別代表不同的音調(diào) 。,電子琴系統(tǒng)GameCanvas類的實現(xiàn),系統(tǒng)設(shè)計過程,,電子琴彈奏聲音的實現(xiàn),private void playWave(int i) try java,io,InputStream is = getClass().getResourceAsStream(/Wav/+sound+/+w+i+.wav); Player player = Manager.createPlayer(is, audio/x-wav); player.realize(); player.
8、prefetch(); player.start(); player=null; catch(Exception e) ,聲音播放playWave(int i),更換主題功能 更換樂器功能 橫屏豎屏切換 支持鍵盤、觸摸屏 用戶幫助功能,,,,,,電子琴系統(tǒng)GameCanvas類的實現(xiàn),系統(tǒng)設(shè)計過程,,豐富的擴展功能,通過changeSkin方法實現(xiàn) 三套主題: 默認主題 炫彩主題 經(jīng)典主題,電子琴系統(tǒng)GameCanvas類的實現(xiàn),系統(tǒng)設(shè)計過程,,豐富的擴展功能,,更換主題功能,炫彩主題,,,經(jīng)典主題,,通過changeSound方法
9、實現(xiàn) 四套樂器音色: 電子琴 吉他 架子鼓 管弦樂,更換樂器功能,電子琴系統(tǒng)GameCanvas類的實現(xiàn),系統(tǒng)設(shè)計過程,,豐富的擴展功能,四套樂器,,該軟件默認是橫屏顯示,但也可以豎屏顯示 通過changeScreen方法實現(xiàn),橫豎屏切換,電子琴系統(tǒng)GameCanvas類的實現(xiàn),豐富的擴展功能,系統(tǒng)設(shè)計過程,,,,橫豎屏切換,,,橫豎屏切換,,,橫豎屏切換,,鍵盤事件響應(yīng)用戶按鍵操作,用到兩個方法: keyPressed 和 keyReleased 指針事件響應(yīng)用戶觸摸操作,用到兩個方法: pointPressed 和 pointReleased,支持鍵盤、觸摸屏,電子琴系統(tǒng)GameC
10、anvas類的實現(xiàn),豐富的擴展功能,系統(tǒng)設(shè)計過程,,keyPressed方法,protected void keyPressed(int keyCode) Graphics g = getGraphics(); switch(keyCode) case KEY_NUM1: num = 1; KeyDown(g); //顯示鍵盤按下效果 flushGraphics(a2*(num-1),b1+b2*(num-1),x,y); //繪制緩沖屏幕 playWave(1); //播放“都”音 break; ,keyReleas
11、ed方法,protected void keyReleased(int keyCode) Graphics g = getGraphics(); switch(keyCode) keyUp(g); //顯示鍵盤彈起效果 flushGraphics(a2*(num-1),b1+b2*(num-1),x,y); //繪制緩沖屏幕 ,,幫助功能使用了與軟件啟動動畫效果相類似的效果,幫助界面 附帶背景音樂(梁祝鋼琴曲),十分悅耳。,用戶幫助功能,電子琴系統(tǒng)GameCanvas類的實現(xiàn),豐富的擴展功能,系統(tǒng)設(shè)計過程,,返回,,用戶幫助功能,總結(jié),在系統(tǒng)設(shè)計過程
12、中碰到了挺多困難,但基本上已解決: (1)先用手機按鍵完成電子琴的功能,待完成后再實現(xiàn)觸摸屏的電子琴功能, 這樣加快了系統(tǒng)制作進程; (2)通過線程實現(xiàn)了電子琴啟動的動畫效果; (3)通過精確的計算,對橫豎屏幕坐標進行轉(zhuǎn)換,實現(xiàn)了電子琴系統(tǒng)在橫屏 與豎屏下皆可使用的功能; (4)通過對電子琴主題與樂器資源的分類整合有效實現(xiàn)了電子琴主題與樂器 的更換功能。 該完成的智能手機多功能電子琴系統(tǒng)實現(xiàn)的功能有: (1)逼真模擬電子琴的彈奏; (2)3套主題輕松更換; (3)4種樂器任意選擇; (4)屏幕橫豎自由切換; (5)鍵盤及觸摸屏皆可使用。,,手機鍵盤操作說明,更換主題,幫助和返回,退出,更換樂器,1-7 彈奏鍵,8、9切換音調(diào),OK鍵:切換屏幕方向 左右方向鍵:更換樂器 上下方向鍵:更換主題,切換屏幕,觸摸屏操作說明,彈奏鍵盤,更換主題,更換主題,切換屏幕,退出,幫助,左右箭頭調(diào)節(jié)音調(diào),不足,雖然該軟件已經(jīng)實現(xiàn)的大多數(shù)功能,但仍存有不足,主要有: 1、聲音資源過大,軟件使用過久會引起內(nèi)存溢出 2、軟件按240*320主流分辨率設(shè)計,所以那些非主流分辨率有可能不能正常運行 請各位評委老師批評指正,感謝我的指導(dǎo)老師及在座評委老師 謝謝!,