下边的代码描述了如何在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) {} } }