下边的代码描述了如何在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() {
                if(vol<99) vol--;
                vc.setLevel(vol);
            }
            
            frm.appent("vol="+vc.getLevel());
        }catch(Exception e){}
        
    }
}  
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/the3gwireless/archive/2006/04/24/675072.aspx
                    
                
                
            
        
浙公网安备 33010602011771号