首页 arrow J2ME开发 arrow 程序设计 arrow 在J2ME应用里控制移动设备的音量
在J2ME应用里控制移动设备的音量
Author Author: Wupei | Date Date: 2009-08-30 | View Count View: 2485 | Section & Category J2ME开发 - 程序设计 | Digg Digg: 2
下边的代码描述了如何在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) {}
 
    }
}

更多阅读:

 
   评论 (2)
评论的 RSS
2
by: beringer (注册会员) 2010-01-20 16:45
啊 不好意思 模拟器上没效果 真机上有效果 谢谢楼主~
回复该评论
1
by: beringer (注册会员) 2010-01-20 15:56
为啥我用这段代码 在电脑上运行时候 声音大小不能变化呢?
回复该评论

我要发表评论

登录菜单

最新文章

本月热门

订阅本站

RSS 0.91 RSS 1.0 RSS 2.0 ATOM 0.3 OPML