📄 playmedia2.java
字号:
package com.wy.ch12;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;
public class PlayMedia2 extends MIDlet implements CommandListener{
private Display display;
private Form f;
private Command command;
private Player p;
public PlayMedia2(){
display = Display.getDisplay(this);
f = new Form("音调播放测试");
command = new Command("播放", Command.ITEM, 1);
f.addCommand(command);
f.setCommandListener(this);
}
public void startApp() {
display.setCurrent(f);
}
public void commandAction(Command command, Displayable displayable){
play();
}
public void play(){
byte tempo = 30; // 设置节拍为120bpm
byte d = 8; // 八分音符
byte C4 = ToneControl.C4;;
byte D4 = (byte)(C4 + 2); // 全音程
byte E4 = (byte)(C4 + 4); // 大三度
byte G4 = (byte)(C4 + 7); // 五度
byte rest = ToneControl.SILENCE; // 休止符
byte[] mySequence = {
ToneControl.VERSION, 1, // 版本1
ToneControl.TEMPO, tempo, // 设置tempo
ToneControl.BLOCK_START, 0, // 开始定义"A"部分
E4,d, D4,d, C4,d, E4,d, // "A"部分的内容
E4,d, E4,d, E4,d, rest,d,
ToneControl.BLOCK_END, 0, // 结束定义"A"部分
ToneControl.PLAY_BLOCK, 0, // 播放"A"部分
D4,d, D4,d, D4,d, rest,d, // 播放"B"部分
E4,d, G4,d, G4,d, rest,d,
ToneControl.PLAY_BLOCK, 0, // 重复"A"部分
D4,d, D4,d, E4,d, D4,d, C4,d // 播放"C"部分
};
try{
p= Manager.createPlayer(Manager.TONE_DEVICE_LOCATOR);
p.realize();
ToneControl c = (ToneControl)p.getControl("ToneControl");
c.setSequence(mySequence);
p.start();
} catch (Exception e) {
}
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
if(p!=null){
p.close();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -