Por faltar instruções
Esta página precisa ser reciclada (discuta).
Ao melhorá-la, você estará ajudando o Wikilivros.
Este livro ou módulo precisa ser formatado segundo o modelo wiki e/ou organizado conforme as convenções do Wikilivros. (discuta)
Por favor ajude a formatar este módulo de acordo com as diretrizes estabelecidas no livro de estilo.
Editor: considere colocar o mês e o ano da marcação.
 import java.io.IOException;
 import java.io.InputStream;
 import javax.microedition.lcdui.Display;
 import javax.microedition.lcdui.Form;
 import javax.microedition.lcdui.Gauge;
 import javax.microedition.media.Manager;
 import javax.microedition.media.MediaException;
 import javax.microedition.media.Player;
 import javax.microedition.media.control.VolumeControl;
 import javax.microedition.midlet.MIDlet;
 import javax.microedition.midlet.MIDletStateChangeException;

 public class SoundTest extends MIDlet implements Runnable
 {
    private Display display;
    private Player player;
    private Form form;
    private Gauge volume;
    private VolumeControl vc;
    private int value=10;
    public SoundTest()
    {   
         try 
         {
              display = Display.getDisplay(this);
              form = new Form("MP3");
              volume = new Gauge("Volume",true,100,10);
              form.append(volume);
            //  form.setItemStateListener(this);
              display.setCurrent(form);
              
         } 
         catch (Exception ex) 
         {
             System.out.println(ex);
         }  
         
    }
    public void startApp() throws MIDletStateChangeException
    {
       playMP3();
       Thread t = new Thread(this);
       t.start();
    }
    public void pauseApp()
    {

    }
    public void destroyApp(boolean unconditional)
    {

    }
    public void playMP3()
    {
        try 
        { 
           InputStream is = getClass().getResourceAsStream("/t.mid"); 
           player = Manager.createPlayer(is,"audio/midi"); 
           player.realize();
           vc = (VolumeControl) player.getControl("VolumeControl");
           player.prefetch();
           if(vc != null) 
           {
              vc.setLevel(value);
           }
           player.start(); 
        } 
        catch(IOException ioe) 
        { 
            ioe.printStackTrace();
        } 
        catch(MediaException me) 
        {
            me.printStackTrace();
        }
    }

    public void run() 
    {
        while (true)
        {
           vc.setLevel(volume.getValue());
            try 
           { 
              Thread.sleep(20); 
           }
           catch (InterruptedException ie) 
           {
           }
        }   
       
    }
 }