0

是否可以从 java me midlet 获取 phobe 通话量的值?无需更改音量。谢谢。

4

1 回答 1

1

AFAIK,无法访问电话音量。但是您可以设置您的应用程序量或获取应用程序。

控制应用程序音量的示例代码:

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 {

            // Creating player object
            player = Manager.createPlayer("/demo.wav");

            // Setting loop count
            player.setLoopCount(-1);

            // Start sound
            player.start();
            Control cs[];

            // Getting Controls object
            cs = player.getControls();

            for (int i = 0; i < cs.length; i++) {
                if (cs[i] instanceof VolumeControl)
                    // Getting volume control
                    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() {
                if(vol<99) vol--;
                vc.setLevel(vol);
            }

            frm.appent("vol="+vc.getLevel());
        }catch(Exception e){}

    }
}
于 2013-04-07T20:42:04.923 回答