J2ME/Lições/Audio
Aspeto
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)
{
}
}
}
}