Controlando o volume de um dispositivo móvel

 

Esta dica Java mostra como ter o controle de volume dos dispositivos móveis. VolumeControl é uma interface para manipular o áudio do Player. Desenvolvedores podem utilizar este código para dar mais funcionalidade às suas aplicações.

 

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("Sair",Command.EXIT,1);
        decr= new Command("Diminuir",Command.EXIT,1);
        incr= new Command("Aumentar",Command.EXIT,1);
        frm.addCommand(exit);
        frm.addCommand(decr);
        frm.addCommand(incr);
        
        frm.setCommandListener(this);
        
        
        display.setCurrent(frm);
        
        try {
            
            // Criando um objeto player
            player = Manager.createPlayer("/demo.wav");
            
            player.setLoopCount(-1);
            
            // inicia o som
            player.start();
            Control cs[];
            
            
            cs = player.getControls();
            
            for (int i = 0; i < cs.length; i++) {
                if (cs[i] instanceof VolumeControl)
                    // Obtendo o controle do volume
                    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){}
        
    }
}