Java Tutorial/J2ME/Tones

Материал из Java эксперт
Перейти к: навигация, поиск

Distributed Tone

   <source lang="java">

import javax.microedition.media.Manager; import javax.microedition.media.Player; import javax.microedition.midlet.MIDlet; public class DistributedToneMIDlet extends MIDlet {

 private Player tonePlayer;
 
 public DistributedToneMIDlet() {
   try {
     tonePlayer = Manager.createPlayer(getClass().getResourceAsStream(
       "/x.jts"), "audio/x-tone-seq");
   } catch(Exception e) {
     System.err.println(e);
   }
 }
 
 public void startApp() {
   try {
     if(tonePlayer != null)
       tonePlayer.start();
   } catch(Exception e) {
     System.err.println(e);
   }
 }
 
 public void pauseApp() {
 }
 
 public void destroyApp(boolean unconditional) {
 }

}</source>





Play CSharp

   <source lang="java">

import javax.microedition.midlet.MIDlet; import javax.microedition.media.Manager; import javax.microedition.media.MediaException; public class CSharpMIDlet extends MIDlet {

 public CSharpMIDlet() {    
 }
 
 public void startApp() {
   try {
     Manager.playTone(61, 5000, 100);
   } catch(MediaException me) { System.err.println(me); }
 }
 
 public void pauseApp() {
 }
 
 public void destroyApp(boolean unconditional) {
 }
 

}</source>





Play tone

   <source lang="java">

import javax.microedition.lcdui.rumand; import javax.microedition.lcdui.rumandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.StringItem; import javax.microedition.media.Manager; import javax.microedition.midlet.MIDlet; public class J2MEAllTonesPlayer extends MIDlet implements CommandListener {

 Form displayForm = new Form("Playing all tones");
 StringItem info = new StringItem("", "");
 Command exit = new Command("Exit", Command.EXIT, 1);
 Thread runner;
 boolean stop = false;
 public void startApp() {
   displayForm.append(info);
   Display.getDisplay(this).setCurrent(displayForm);
   displayForm.addCommand(exit);
   displayForm.setCommandListener(this);
   runner = new Thread(new TonePlayer(info, this));
   runner.start();
 }
 public void pauseApp() {
 }
 public void destroyApp(boolean unconditional) {
   if (runner != null)
     stop = true;
 }
 public void commandAction(Command cmd, Displayable disp) {
   destroyApp(true);
   notifyDestroyed();
 }

} class TonePlayer implements Runnable {

 StringItem info;
 AllTonesPlayer midlet;
 public TonePlayer(StringItem info, AllTonesPlayer midlet) {
   this.info = info;
   this.midlet = midlet;
 }
 public void run() {
   try {
     for (int i = 0; i < 128; i++) {
       Thread.sleep(1000);
       info.setText("Playing: " + i);
       Manager.playTone(i, 500, 100);
       if (midlet.stop)
         break;
     }
   } catch (Exception me) {
     System.err.println(me);
   }
 }

}</source>