
智能手机多功能电子琴系统设计.ppt
45页智能多功能电子琴系统设计导 师:沈在爱 答辩人:林剑国专 业:电子信息工程Multi-function Electronic Keyboard System Design for SmartphoneElectronic Keyboard智能多功能电子琴系统设计智能多功能电子琴系统设计课题研究背景开发环境介绍系统设计过程总结Electronic Keyboard我为什么要选择这个课题?个人喜欢软件开发Java上还没有一款真正意义的电子琴软件研究成果很具有市场价值课题研究背景Electronic Keyboard7亿多中国现有用户国内软件市场潜力巨大课题研究背景行业背景Electronic KeyboardSymbianLinuxWindowsPaml OSMAC OSXOther智能操作系统市场份额课题研究背景Electronic Keyboard Symbian占据了智能系统的半壁江山而Symbian都支持Java平台,所以基于Java平台的软件市场需求是十分庞大的智能操作系统市场份额课题研究背景Electronic Keyboard开发环境介绍开发平台:开发工具:J2MENetBeansElectronic KeyboardJ2ME 定义:它是Java平台的技术规范优点:可移植性好,继承了Java语言的优良特性开发环境介绍开发平台Electronic KeyboardNet它是J2ME应用程序开发工具优点:功能齐全,使用方便简洁且免费开发环境介绍Beans开发工具Electronic KeyboardJ2ME+NetBeans电子琴系统Electronic Keyboard系统设计过程系统设计功能简介该电子琴系统主要要实现的功能有:1、能显示电子琴键盘2、弹奏要能发音3、其它扩展功能Electronic Keyboard系统设计流程图系统设计过程Electronic Keyboard电子琴系统主类MIDlet: 它控制着整个程序的运行,拥有管理程序的创建、开始、暂停和结束的函数。
系统设计过程Electronic Keyboard电子琴系统闪屏的实现 启动闪屏:用于载入Logo画面,默认程序进入界面为横屏显示 Logo画面并不是必须的,但它增加了软件的吸引力系统设计过程Electronic Keyboard电子琴系统启动动画的实现 动画实现的最简单方法就是把动画的每一帧制作成图片,然后按顺序显示各个帧的图像,观察者会由于视觉残留效应,就会觉得是动画在播放 本软件启动动画只用一张图片,该图片是一张帷幕,在开始显示电子琴主界面前拉开,很形象系统设计过程Electronic Keyboard帷幕之后就是优美的电子琴界面 该动画通过线程完成,将这张帷幕图片在屏幕上延时依次重绘实现 Electronic Keyboard电子琴系统GameCanvas类的实现 GameCanvas实现的流程图 系统设计过程Electronic Keyboard初始化电子琴系统界面 clearScreen(g)方法初始化电子琴系统背景drawMusicName(g)方法初始化乐器名称drawDot(g)初始化音阶点 电子琴系统GameCanvas类的实现 系统设计过程Electronic Keyboard public void clearScreen(Graphics g) { try { imgBG= Image.createImage("/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图片路径”)用来创建Image对象,drawImage( )方法用于绘制Image对象中的图像。
电子琴系统背景初始化clearScreen(g) 初始化电子琴系统界面 Electronic Keyboard完成的初始化电子琴系统界面 Electronic Keyboard 真实的电子琴键盘弹奏效果莫非两个状态,即按下和弹起状态,所以为了实现电子琴键盘动画显示,定义了两个方法KeyDown和KeyUp,用来实现电子琴键盘的按下与弹起状态显示电子琴键盘动态效果显示电子琴系统GameCanvas类的实现 系统设计过程Electronic KeyboardKeyDown电子琴键盘动态效果显示电子琴系统GameCanvas类的实现 系统设计过程Electronic KeyboardKeyUp电子琴键盘动态效果显示电子琴系统GameCanvas类的实现 系统设计过程Electronic KeyboardplayWave(int i);该模块实现了电子琴根据按下的不同按键实现不同音调播放,变量i参数范围为1,2,3,4,5,6,7,分别代表不同的音调 电子琴系统GameCanvas类的实现 系统设计过程电子琴弹奏声音的实现 Electronic Keyboard 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.prefetch(); player.start(); player=null; } catch(Exception e) { } }声音播放playWave(int i)Electronic Keyboard更换主题功能更换乐器功能横屏竖屏切换支持键盘、触摸屏用户帮助功能电子琴系统GameCanvas类的实现 系统设计过程丰富的扩展功能Electronic Keyboard通过changeSkin方法实现三套主题: 默认主题 炫彩主题 经典主题电子琴系统GameCanvas类的实现 系统设计过程丰富的扩展功能更换主题功能Electronic Keyboard炫彩主题Electronic Keyboard经典主题Electronic Keyboard通过changeSound方法实现四套乐器音色: 电子琴 吉他 架子鼓 管弦乐更换乐器功能电子琴系统GameCanvas类的实现 系统设计过程丰富的扩展功能Electronic Keyboard四套乐器Electronic Keyboard该软件默认是横屏显示,但也可以竖屏显示通过changeScreen方法实现横竖屏切换电子琴系统GameCanvas类的实现 丰富的扩展功能系统设计过程Electronic Keyboard横竖屏切换Electronic Keyboard横竖屏切换Electronic Keyboard横竖屏切换Electronic Keyboard键盘事件响应用户按键操作,用到两个方法:keyPressed 和 keyReleased 指针事件响应用户触摸操作,用到两个方法:pointPressed 和 pointReleased 支持键盘、触摸屏电子琴系统GameCanvas类的实现 丰富的扩展功能系统设计过程Electronic KeyboardkeyPressed方法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; ······ }Electronic KeyboardkeyReleased方法protected void keyReleased(int keyCode) { Graphics g = getGraphics(); switch(keyCode) { keyUp(g); //显示键盘弹起效果 flushGraphics(a2*(num-1),b1+b2*(num-1),x,y); //绘制缓冲屏幕 ······ }Electronic Keyboard 帮助功能使用了与软件启动动画效果相类似的效果,帮助界面附带背景音乐(梁祝钢琴曲),十分悦耳。
用户帮助功能电子琴系统GameCanvas类的实现 丰富的扩展功能系统设计过程Electronic Keyboard返回用户帮助功能Electronic Keyboard总结在系统设计过程中碰到了挺多困难,但基本上已解决:(1)先用按键完成电子琴的功能,待完成后再实现触摸屏的电子琴功能, 这样加快了系统制作进程;(2)通过线程实现了电子琴启动的动画效果;(3)通过精确的计算,对横竖屏幕坐标进行转换,实现了电子琴系统在横屏 与竖屏下皆可使用的功能;(4)通过对电子琴主题与乐器资源的分类整合有效实现了电子琴主题与乐器 的更换功能该完成的智能多功能电子琴系统实现的功能有:(1)逼真模拟电子琴的弹奏;(2)3套主题轻松更换;(3)4种乐器任意选择;(4)屏幕横竖自由切换;(5)键盘及触摸屏皆可使用Electronic Keyboard键盘操作说明更换主题帮助和返回退出更换乐器1-7 弹奏键8、9切换音调OK键:切换屏幕方向左右方向键:更换乐器上下方向键:更换主题切换屏幕Electronic Keyboard触摸屏操作说明弹奏键盘更换主题更换主题切换屏幕退出帮助左右箭头调节音调Electronic Keyboard不足 虽然该软件已经实现的大多数功能,但仍存有不足,主要有:1、声音资源过大,软件使用过久会引起内存溢出2、软件按240*320主流分辨率设计,所以那些非主流分辨率有可能不能正常运行 请各位评委老师批评指正感谢我的指导老师及在座评委老师谢谢!。












