下边的代码描述了如何在J2ME应用里控制移动设备的音量,VolumeControl类可以用来控制播放器Player类的音量
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.Ticker;
import javax.microedition.media.*;
public class VolumeControlDemo extends MIDlet implements CommandListener {
private Display display;
private Command exit, incr, decr;
Form frm;
VolumeControl vc;
int vol;
Player player;
public VolumeControlDemo() {
display = Display.getDisplay(this);
}
public void startApp() {
frm = new Form("VolumeControlDemo Demo");
exit = new Command("Exit", Command.EXIT, 1);
decr = new Command("Decrease", Command.EXIT, 1);
incr = new Command("Increase", Command.EXIT, 1);
frm.addCommand(exit);
frm.addCommand(decr);
frm.addCommand(incr);
frm.setCommandListener(this);
display.setCurrent(frm);
try {
// 创建播放器Player对象
player = Manager.createPlayer("/demo.wav");
// 设置循环计数器
player.setLoopCount( -1);
// 播放
player.start();
Control cs[];
// 获得播放器的所有控制对象
cs = player.getControls();
for (int i = 0; i < cs.length; i++) {
if (cs[i] instanceof VolumeControl) {
// 获得音量控制类实例
vc = (VolumeControl) cs[i];
}
}
} catch (Exception e) {}
}
public void pauseApp() {
}
public void destroyApp(boolean un) {
}
public void commandAction(Command cmd, Displayable d) {
try {
if (decr) {
if (vol > 0) {
vol--;
}
vc.setLevel(vol);
} else {
if (vol < 99) {
vol--;
}
vc.setLevel(vol);
}
frm.appent("vol=" + vc.getLevel());
} catch (Exception e) {}
}
}