`

J2ME音乐程序【原创】

阅读更多
import java.io.IOException;

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.io.file.IllegalModeException;
import javax.microedition.lcdui.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;


class DemoCanvas extends Canvas{

byte C4 = ToneControl.C4;
byte D4 = (byte)(C4+2);
byte E4 = (byte)(C4+4);
byte G4 = (byte)(C4+5);
byte S4 = (byte)(C4+7);
byte L4 =(byte)(C4+9);
byte X4 = (byte)(C4+11);
byte O4 = (byte)(C4+13);

private void simpleTone(){
 
   try{
    Manager.playTone(ToneControl.C4, 100, 80);
   }catch (Exception ex){}
}

protected void keyPressed(int keyCode){
   if(keyCode == KEY_NUM1)
   {
    simpleTone();
   }
   else if(keyCode == KEY_NUM2)
   {
    try{
     Manager.playTone(D4, 100, 80);
    }catch (Exception ex){}
   }else
    if(keyCode == KEY_NUM3){
     try{
      Manager.playTone(E4, 100, 80);
     }catch (Exception ex){}
    }
    else if(keyCode == KEY_NUM4){
     try{
      Manager.playTone(G4, 100, 80);
     }catch (Exception ex){}
    }
    else if(keyCode == KEY_NUM5)
    {
     try{
      Manager.playTone(S4, 100, 80);
     }catch (Exception ex){}
    }
    else if(keyCode == KEY_NUM6){
     try{
      Manager.playTone(L4, 100, 80);
     }catch (Exception ex){}
    }else if(keyCode == KEY_NUM7)
    {
     try{
      Manager.playTone(X4, 100, 80);
     }catch (Exception ex){}
    }else if(keyCode == KEY_NUM8){
     try{
      Manager.playTone(O4, 100, 80);
     }catch (Exception ex){}
    }
 
}

protected void paint(Graphics g) {
   g.setColor(0x00FF6633);
   g.fillRect(0, 0, this.getWidth(), this.getHeight());
   g.setColor(0x00ffffff);
   g.drawString("│5 3 3 -│4 2 2 -│1 2 3 4│5 5 5 -│ ", 0, 0, Graphics.TOP|Graphics.LEFT);

   g.drawString("│5 3 3 -│4 2 2 -│1 3 5 5│3 - - -│ ", 0, 40, Graphics.TOP|Graphics.LEFT);
   g.drawString("│2 2 2 2│2 3 4 -│3 3 3 3│3 4 5 -│ ", 0, 80, Graphics.TOP|Graphics.LEFT);
   g.drawString("│5 3 3 -│4 2 2 -│1 3 5 5│1 - - -│ ", 0, 120, Graphics.TOP|Graphics.LEFT);
   g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_LARGE));
   g.drawString("请根据以上乐谱弹奏可爱的《小蜜蜂》吧 ", 0, 140, Graphics.TOP|Graphics.LEFT);
 


}

}

public class PlaySimpleTone extends MIDlet implements CommandListener {

private Player mp;
private Display display;
private DemoCanvas myDemo;


private Command exitCommand = new Command("Exit",Command.EXIT,1);
private Command playCommand = new Command("Play",Command.ITEM,1);


public PlaySimpleTone() {
   display = Display.getDisplay(this);
   myDemo = new DemoCanvas();
   myDemo.addCommand(exitCommand);
   myDemo.addCommand(playCommand);
   myDemo.setCommandListener(this);
 
 
 
}

public void commandAction(Command c,Displayable s)
{
   if(c == exitCommand){
 
     try {
      destroyApp(false);
     } catch (MIDletStateChangeException e) {
    
      e.printStackTrace();
     }
     notifyDestroyed();
  
   }
   else if(c == playCommand){
    simpleTone();
   }
}

private void simpleTone(){
 
   try{
    Manager.playTone(ToneControl.C4, 100, 80);
   }catch (Exception ex){}
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
 

}

protected void pauseApp() {
 

}

protected void startApp() throws MIDletStateChangeException {
   display.setCurrent(myDemo);

}

}


分享到:
评论

相关推荐

    J2ME 手机程序开发

    **J2ME手机程序开发** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如早期的智能手机和平板电脑。它提供了开发和部署小型应用程序,称为MIDlets,的能力。J2ME在手机程序...

    J2ME应用程序性能优化

    J2ME应用程序性能优化J2ME应用程序性能优化

    使用eclipse开发J2ME应用程序(下)

    在本教程中,我们将深入探讨如何使用Eclipse IDE来开发J2ME(Java 2 Micro Edition)应用程序。Eclipse是一款广泛使用的开源集成开发环境,它为各种编程语言提供了强大的支持,包括Java。J2ME是Java平台的一个子集,...

    j2me 手机程序入门,让你快速掌握j2me手机程序开发

    本教程将引导初学者深入理解J2ME手机程序开发,帮助你快速入门并掌握核心概念。 1. **J2ME概述** J2ME由Java ME配置(Configurations)和Java ME框架(Profiles)组成。配置定义了设备的基本能力,如内存大小和...

    基于Eclipse环境的J2ME应用程序开发

    **基于Eclipse环境的J2ME应用程序开发** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能家电等。Eclipse作为流行的Java开发集成环境,提供了强大的工具支持,使得...

    我的第一个J2ME程序(计算器)

    【标题】"我的第一个J2ME程序(计算器)" 涉及到的知识点主要围绕Java Micro Edition (J2ME) 开发,特别是如何利用J2ME来创建一个基础的计算器应用。J2ME是Java平台的一个子集,专门用于嵌入式设备和移动设备,如早期...

    基于Eclipse环境的J2ME应用程序开发实例源码

    【基于Eclipse环境的J2ME应用程序开发实例源码】是一个关于使用Eclipse集成开发环境进行J2ME(Java 2 Micro Edition)应用编程的教学资源。J2ME是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能...

    使用NetBeans开发J2ME应用程序

    **使用NetBeans开发J2ME应用程序** Java 2 Micro Edition(J2ME)是一种轻量级的Java平台,主要用于移动设备、嵌入式系统和其他有限资源的设备上开发应用程序。NetBeans IDE是一款强大的集成开发环境,它为J2ME应用...

    J2ME游戏程序开发实例详解.pdf

    J2ME的游戏程序开发则是利用J2ME平台开发可在手机等移动设备上运行的简单游戏。由于设备资源有限,J2ME游戏通常比PC游戏或游戏机游戏简单许多。下面将围绕J2ME游戏程序开发的关键知识点进行详细解释。 1. J2ME的...

    J2me版摄像头拍照程序

    标题提到的"J2me版摄像头拍照程序"是一个利用 J2ME 技术实现的移动应用,允许用户通过手机内置的摄像头进行拍照,并提供了其他相关功能。 1. **J2ME架构**: J2ME 包含了配置(Configurations)和 profiles(配置...

    赛车游戏 J2ME源码程序

    6. **音效与音乐**:J2ME的`MIDI`和`WavePlayer`接口可用于播放背景音乐和音效。开发者需要考虑如何在有限的硬件条件下实现音效的无缝播放。 7. **碰撞检测**:赛车游戏中的碰撞检测是必不可少的,它涉及到赛道边界...

    J2ME贪吃蛇原程序

    **J2ME贪吃蛇原程序详解** Java 2 Micro Edition (J2ME) 是一种针对小型设备,如移动电话和嵌入式系统的Java平台。它由两部分组成:KVM(K Virtual Machine)和MIDP(Mobile Information Device Profile)。在本...

    使用eclipse开发J2ME应用程序(上)

    **使用Eclipse开发J2ME应用程序(上)** 在移动设备和嵌入式系统的世界里,J2ME(Java 2 Micro Edition)是用于开发应用程序的首选平台之一。Eclipse,作为一个强大的开源集成开发环境(IDE),也提供了对J2ME开发...

    J2ME 手机程序入门

    **J2ME手机程序入门详解** Java 2 Micro Edition(J2ME)是Java平台的一个重要组成部分,专门设计用于资源有限的嵌入式设备,尤其是移动设备如智能手机和平板电脑。J2ME提供了丰富的功能,使得开发者能够创建各种...

    Eclipse开发J2ME手机程序

    【Eclipse开发J2ME手机程序】涉及到的关键知识点如下: 1. **J2ME (Java 2 Micro Edition)**: J2ME 是Java平台的一个子集,专为资源有限的嵌入式设备设计,如手机、PDA等。它由配置(Configuration)和简表...

    1945 j2me开源程序

    《1945 J2ME 开源程序:深入解析经典飞行射击游戏的移动实现》 在移动设备尚未普及高性能3D图形的时代,J2ME(Java Micro Edition)作为一款跨平台的开发工具,广泛应用于手机游戏开发。其中,1945是一款经典的飞行...

    J2ME实现画图程序

    在这个J2ME实现的画图程序中,我们主要关注的是如何在移动设备上利用Java Micro Edition(J2ME)框架创建一个简单的画图应用。J2ME是Java平台的一个子集,专门用于嵌入式设备,如手机和PDA。在这个程序中,核心功能...

    J2ME中文教程,J2ME手机程序开发

    **J2ME中文教程——开启手机程序开发之旅** Java 2 Micro Edition(J2ME)是Java平台的一个重要分支,专为资源有限的嵌入式设备设计,包括移动电话、智能家电、数字电视等。本教程将深入讲解J2ME在手机程序开发中的...

Global site tag (gtag.js) - Google Analytics