Java by API/javax.microedition.media.control/MIDIControl

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

MIDIControl.CONTROL_CHANGE

   <source lang="java">

import javax.microedition.lcdui.Alert; import javax.microedition.lcdui.Display; import javax.microedition.media.Manager; import javax.microedition.media.Player; import javax.microedition.media.control.MIDIControl; import javax.microedition.midlet.MIDlet; public class MIDIEventsMIDlet extends MIDlet {

 Display display = null;
 Alert alert = new Alert("Message");
 public MIDIEventsMIDlet() {
   display = Display.getDisplay(this);
   alert.setString("Working...");
   alert.setTimeout(Alert.FOREVER);
 }
 public void startApp() {
   display.setCurrent(alert);
   try {
     Player p = Manager.createPlayer(Manager.MIDI_DEVICE_LOCATOR);
     p.prefetch();
     MIDIControl mControl = (MIDIControl) p
         .getControl("javax.microedition.media.control.MIDIControl");
     if (mControl == null)
       throw new Exception("MIDIControl not available");
     mControl.shortMidiEvent(MIDIControl.NOTE_ON | 11, 60, 100);
     Thread.sleep(100);
     mControl.shortMidiEvent(192 | 11, 14, 0);
     Thread.sleep(100);
     mControl.shortMidiEvent(MIDIControl.CONTROL_CHANGE | 11, 7, 50);
     Thread.sleep(100);
     mControl.shortMidiEvent(MIDIControl.NOTE_ON | 11, 60, 0);
   } catch (Exception e) {
     alert.setString(e.getMessage());
   }
 }
 public void pauseApp() {
 }
 public void destroyApp(boolean unconditional) {
 }

}

 </source>
   
  
 
  



MIDIControl: isBankQuerySupported()

   <source lang="java">

import javax.microedition.lcdui.Alert; import javax.microedition.lcdui.AlertType; import javax.microedition.lcdui.Display; import javax.microedition.media.Manager; import javax.microedition.media.Player; import javax.microedition.media.control.MIDIControl; import javax.microedition.midlet.MIDlet; public class MIDICapabilitiesMIDlet extends MIDlet {

 public void startApp() {
   try {
     Player p = Manager.createPlayer(Manager.MIDI_DEVICE_LOCATOR);
     p.prefetch();
     MIDIControl mControl = (MIDIControl) p
         .getControl("javax.microedition.media.control.MIDIControl");
     String msg = mControl.isBankQuerySupported() ? "MIDIControl is fully supported"
         : "Minimum MIDIControl is provided";
     Display.getDisplay(this).setCurrent(new Alert("Message", msg, null, AlertType.INFO));
   } catch (Exception e) {
     System.err.println(e);
   }
 }
 public void pauseApp() {
 }
 public void destroyApp(boolean unconditional) {
 }

}

 </source>
   
  
 
  



MIDIControl.NOTE_ON

   <source lang="java">

import javax.microedition.lcdui.Alert; import javax.microedition.lcdui.Display; import javax.microedition.media.Manager; import javax.microedition.media.Player; import javax.microedition.media.control.MIDIControl; import javax.microedition.midlet.MIDlet; public class MIDIEventsMIDlet extends MIDlet {

 Display display = null;
 Alert alert = new Alert("Message");
 public MIDIEventsMIDlet() {
   display = Display.getDisplay(this);
   alert.setString("Working...");
   alert.setTimeout(Alert.FOREVER);
 }
 public void startApp() {
   display.setCurrent(alert);
   try {
     Player p = Manager.createPlayer(Manager.MIDI_DEVICE_LOCATOR);
     p.prefetch();
     MIDIControl mControl = (MIDIControl) p
         .getControl("javax.microedition.media.control.MIDIControl");
     if (mControl == null)
       throw new Exception("MIDIControl not available");
     mControl.shortMidiEvent(MIDIControl.NOTE_ON | 11, 60, 100);
     Thread.sleep(100);
     mControl.shortMidiEvent(192 | 11, 14, 0);
     Thread.sleep(100);
     mControl.shortMidiEvent(MIDIControl.CONTROL_CHANGE | 11, 7, 50);
     Thread.sleep(100);
     mControl.shortMidiEvent(MIDIControl.NOTE_ON | 11, 60, 0);
   } catch (Exception e) {
     alert.setString(e.getMessage());
   }
 }
 public void pauseApp() {
 }
 public void destroyApp(boolean unconditional) {
 }

}

 </source>
   
  
 
  



MIDIControl: shortMidiEvent(int arg0, int arg1, int arg2)

   <source lang="java">

import javax.microedition.lcdui.Alert; import javax.microedition.lcdui.Display; import javax.microedition.media.Manager; import javax.microedition.media.Player; import javax.microedition.media.control.MIDIControl; import javax.microedition.midlet.MIDlet; public class MIDIEventsMIDlet extends MIDlet {

 Display display = null;
 Alert alert = new Alert("Message");
 public MIDIEventsMIDlet() {
   display = Display.getDisplay(this);
   alert.setString("Working...");
   alert.setTimeout(Alert.FOREVER);
 }
 public void startApp() {
   display.setCurrent(alert);
   try {
     Player p = Manager.createPlayer(Manager.MIDI_DEVICE_LOCATOR);
     p.prefetch();
     MIDIControl mControl = (MIDIControl) p
         .getControl("javax.microedition.media.control.MIDIControl");
     if (mControl == null)
       throw new Exception("MIDIControl not available");
     mControl.shortMidiEvent(MIDIControl.NOTE_ON | 11, 60, 100);
     Thread.sleep(100);
     mControl.shortMidiEvent(192 | 11, 14, 0);
     Thread.sleep(100);
     mControl.shortMidiEvent(MIDIControl.CONTROL_CHANGE | 11, 7, 50);
     Thread.sleep(100);
     mControl.shortMidiEvent(MIDIControl.NOTE_ON | 11, 60, 0);
   } catch (Exception e) {
     alert.setString(e.getMessage());
   }
 }
 public void pauseApp() {
 }
 public void destroyApp(boolean unconditional) {
 }

}

 </source>