This example plays different sound alerts based on the choice of the user.




 /*--------------------------------------------------
* SoundAlert.java
*
* Example from the book:     Core J2ME Technology
* Copyright John W. Muchow   http://www.CoreJ2ME.com
* You may use/modify for any non-commercial purpose
*-------------------------------------------------*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class SoundAlert extends MIDlet implements ItemStateListener, CommandListener
{
  private Display display;      // Reference to display object 
  private Form fmMain;         // Main form
  private Command cmExit;      // Command to exit the MIDlet
  private ChoiceGroup cgSound; // Choice group

  public SoundAlert()
  {
    display = Display.getDisplay(this);

    // Create an exclusive (radio) choice group
    cgSound = new ChoiceGroup("Choose a sound", Choice.EXCLUSIVE);
    // Append options, with no associated images
    cgSound.append("Info", null);    
    cgSound.append("Confirmation", null);    
    cgSound.append("Warning", null);            
    cgSound.append("Alarm", null);        
    cgSound.append("Error", null);    

    cmExit = new Command("Exit", Command.EXIT, 1);

    // Create Form, add components, listen for events
    fmMain = new Form("");
    fmMain.append(cgSound);
    fmMain.addCommand(cmExit);
    fmMain.setCommandListener(this);   
    fmMain.setItemStateListener(this);
  }

  public void startApp()
  {
    display.setCurrent(fmMain);
  }

  public void pauseApp()
  { }
  public void destroyApp(boolean unconditional)
  { }

  public void commandAction(Command c, Displayable s)
  {
    if (c == cmExit)
    {
      destroyApp(false);
      notifyDestroyed();
    } 
  }
  public void itemStateChanged(Item item)              
  {
    switch (cgSound.getSelectedIndex())
    {
      case 0: 
        AlertType.INFO.playSound(display);
        break;

      case 1:
        AlertType.CONFIRMATION.playSound(display);
        break;

      case 2:
        AlertType.WARNING.playSound(display);
        break;

      case 3:
        AlertType.ALARM.playSound(display);
        break;

      case 4:
        AlertType.ERROR.playSound(display);
        break;
    }
  }
}

 

 

 

 Related Tips