This Java tip covers the aspect of controling the volume of a mobile device. VolumeControl is an interface for manipulating the audio volume of a Player. Developer may use this as an add-in for its applications.

 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){}
        
    }
}

 

 

 

 Related Tips