<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FJ2ME%2FMIDI</id>
		<title>Java Tutorial/J2ME/MIDI - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FJ2ME%2FMIDI"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/J2ME/MIDI&amp;action=history"/>
		<updated>2026-04-22T01:29:56Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/J2ME/MIDI&amp;diff=4136&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/J2ME/MIDI&amp;diff=4136&amp;oldid=prev"/>
				<updated>2010-06-01T05:00:11Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:00, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/J2ME/MIDI&amp;diff=4135&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/J2ME/MIDI&amp;diff=4135&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Controllable MIDI ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Form;&lt;br /&gt;
import javax.microedition.lcdui.Gauge;&lt;br /&gt;
import javax.microedition.lcdui.Item;&lt;br /&gt;
import javax.microedition.lcdui.ItemStateListener;&lt;br /&gt;
import javax.microedition.media.Manager;&lt;br /&gt;
import javax.microedition.media.Player;&lt;br /&gt;
import javax.microedition.media.control.PitchControl;&lt;br /&gt;
import javax.microedition.media.control.TempoControl;&lt;br /&gt;
import javax.microedition.media.control.VolumeControl;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class ControllableMIDIMIDlet extends MIDlet implements ItemStateListener {&lt;br /&gt;
  Player midiPlayer = null;&lt;br /&gt;
  VolumeControl volControl = null;&lt;br /&gt;
  PitchControl pitchControl = null;&lt;br /&gt;
  TempoControl tempoControl = null;&lt;br /&gt;
  Form form = new Form(&amp;quot;MIDI Player&amp;quot;, null);&lt;br /&gt;
  Gauge volGauge = new Gauge(&amp;quot;Volume: 50&amp;quot;, true, 100, 50);&lt;br /&gt;
  Gauge pitchGauge = new Gauge(&amp;quot;Pitch: 0&amp;quot;, true, 10, 5);&lt;br /&gt;
  Gauge tempoGauge = new Gauge(&amp;quot;Tempo: 120&amp;quot;, true, 30, 12);&lt;br /&gt;
  public ControllableMIDIMIDlet() {&lt;br /&gt;
    try {&lt;br /&gt;
      midiPlayer = Manager.createPlayer(getClass().getResourceAsStream(&amp;quot;/a.mid&amp;quot;), &amp;quot;audio/midi&amp;quot;);&lt;br /&gt;
      midiPlayer.prefetch();&lt;br /&gt;
      volControl = (VolumeControl) midiPlayer.getControl(&amp;quot;javax.microedition.media.control.VolumeControl&amp;quot;);&lt;br /&gt;
      pitchControl = (PitchControl) midiPlayer.getControl(&amp;quot;javax.microedition.media.control.PitchControl&amp;quot;);&lt;br /&gt;
      tempoControl = (TempoControl) midiPlayer.getControl(&amp;quot;javax.microedition.media.control.TempoControl&amp;quot;);&lt;br /&gt;
      form.append(volGauge);&lt;br /&gt;
      form.append(tempoGauge);&lt;br /&gt;
      form.append(pitchGauge);&lt;br /&gt;
      form.setItemStateListener(this);&lt;br /&gt;
      Display.getDisplay(this).setCurrent(form);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void itemStateChanged(Item item) {&lt;br /&gt;
    if (!(item instanceof Gauge))&lt;br /&gt;
      return;&lt;br /&gt;
    Gauge gauge = (Gauge) item;&lt;br /&gt;
    int val = gauge.getValue();&lt;br /&gt;
    if (item == volGauge) {&lt;br /&gt;
      volControl.setLevel(val);&lt;br /&gt;
      volGauge.setLabel(&amp;quot;Volume: &amp;quot; + val);&lt;br /&gt;
    }&lt;br /&gt;
    if (item == tempoGauge &amp;amp;&amp;amp; tempoControl != null) {&lt;br /&gt;
      tempoControl.setTempo((val) * 10 * 1000);&lt;br /&gt;
      tempoGauge.setLabel(&amp;quot;Tempo: &amp;quot; + (val * 10));&lt;br /&gt;
    }&lt;br /&gt;
    if (item == pitchGauge &amp;amp;&amp;amp; pitchControl != null) {&lt;br /&gt;
      pitchControl.setPitch((val - 5) * 12 * 1000);&lt;br /&gt;
      pitchGauge.setLabel(&amp;quot;Pitch: &amp;quot; + (val - 5));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    try {&lt;br /&gt;
      if (midiPlayer != null) {&lt;br /&gt;
        midiPlayer.start();&lt;br /&gt;
      }&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
    try {&lt;br /&gt;
      if (midiPlayer != null) {&lt;br /&gt;
        midiPlayer.stop();&lt;br /&gt;
      }&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
    try {&lt;br /&gt;
      if (midiPlayer != null) {&lt;br /&gt;
        midiPlayer.close();&lt;br /&gt;
      }&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  MIDI Capabilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.microedition.lcdui.Alert;&lt;br /&gt;
import javax.microedition.lcdui.AlertType;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.media.Manager;&lt;br /&gt;
import javax.microedition.media.Player;&lt;br /&gt;
import javax.microedition.media.control.MIDIControl;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class MIDICapabilitiesMIDlet extends MIDlet {&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    try {&lt;br /&gt;
      Player p = Manager.createPlayer(Manager.MIDI_DEVICE_LOCATOR);&lt;br /&gt;
      p.prefetch();&lt;br /&gt;
      MIDIControl mControl = (MIDIControl) p&lt;br /&gt;
          .getControl(&amp;quot;javax.microedition.media.control.MIDIControl&amp;quot;);&lt;br /&gt;
      String msg = mControl.isBankQuerySupported() ? &amp;quot;MIDIControl is fully supported&amp;quot;&lt;br /&gt;
          : &amp;quot;Minimum MIDIControl is provided&amp;quot;;&lt;br /&gt;
      Display.getDisplay(this).setCurrent(new Alert(&amp;quot;Message&amp;quot;, msg, null, AlertType.INFO));&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  MIDI Events ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.microedition.lcdui.Alert;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.media.Manager;&lt;br /&gt;
import javax.microedition.media.Player;&lt;br /&gt;
import javax.microedition.media.control.MIDIControl;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class MIDIEventsMIDlet extends MIDlet {&lt;br /&gt;
  Display display = null;&lt;br /&gt;
  Alert alert = new Alert(&amp;quot;Message&amp;quot;);&lt;br /&gt;
  public MIDIEventsMIDlet() {&lt;br /&gt;
    display = Display.getDisplay(this);&lt;br /&gt;
    alert.setString(&amp;quot;Working...&amp;quot;);&lt;br /&gt;
    alert.setTimeout(Alert.FOREVER);&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    display.setCurrent(alert);&lt;br /&gt;
    try {&lt;br /&gt;
      Player p = Manager.createPlayer(Manager.MIDI_DEVICE_LOCATOR);&lt;br /&gt;
      p.prefetch();&lt;br /&gt;
      MIDIControl mControl = (MIDIControl) p&lt;br /&gt;
          .getControl(&amp;quot;javax.microedition.media.control.MIDIControl&amp;quot;);&lt;br /&gt;
      if (mControl == null)&lt;br /&gt;
        throw new Exception(&amp;quot;MIDIControl not available&amp;quot;);&lt;br /&gt;
      mControl.shortMidiEvent(MIDIControl.NOTE_ON | 11, 60, 100);&lt;br /&gt;
      Thread.sleep(100);&lt;br /&gt;
      mControl.shortMidiEvent(192 | 11, 14, 0);&lt;br /&gt;
      Thread.sleep(100);&lt;br /&gt;
      mControl.shortMidiEvent(MIDIControl.CONTROL_CHANGE | 11, 7, 50);&lt;br /&gt;
      Thread.sleep(100);&lt;br /&gt;
      mControl.shortMidiEvent(MIDIControl.NOTE_ON | 11, 60, 0);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      alert.setString(e.getMessage());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Mixing Audio ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.microedition.lcdui.Alert;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.media.Manager;&lt;br /&gt;
import javax.microedition.media.Player;&lt;br /&gt;
import javax.microedition.media.control.MIDIControl;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class MixingAudioMIDlet extends MIDlet implements CommandListener {&lt;br /&gt;
  private Player backgroundPlayer = null;&lt;br /&gt;
  private Player firePlayer = null;&lt;br /&gt;
  private Player jumpPlayer = null;&lt;br /&gt;
  private MIDIControl mControl = null;&lt;br /&gt;
  private Display display = null;&lt;br /&gt;
  private Alert alert = new Alert(&amp;quot;Message&amp;quot;);&lt;br /&gt;
  private Command exitCommand = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
  private Command fireCommand = new Command(&amp;quot;Fire!&amp;quot;, Command.SCREEN, 1);&lt;br /&gt;
  private Command jumpCommand = new Command(&amp;quot;Jump!&amp;quot;, Command.SCREEN, 1);&lt;br /&gt;
  public MixingAudioMIDlet() {&lt;br /&gt;
    display = Display.getDisplay(this);&lt;br /&gt;
    alert.setString(&amp;quot;Playing background score&amp;quot;);&lt;br /&gt;
    alert.setTimeout(Alert.FOREVER);&lt;br /&gt;
    alert.addCommand(exitCommand);&lt;br /&gt;
    alert.addCommand(fireCommand);&lt;br /&gt;
    alert.addCommand(jumpCommand);&lt;br /&gt;
    alert.setCommandListener(this);&lt;br /&gt;
    initPlayers();&lt;br /&gt;
  }&lt;br /&gt;
  private void initPlayers() {&lt;br /&gt;
    try {&lt;br /&gt;
      backgroundPlayer = Manager.createPlayer(getClass().getResourceAsStream(&amp;quot;/a.mid&amp;quot;),&lt;br /&gt;
          &amp;quot;audio/midi&amp;quot;);&lt;br /&gt;
      backgroundPlayer.prefetch();&lt;br /&gt;
      backgroundPlayer.setLoopCount(-1);&lt;br /&gt;
      firePlayer = Manager.createPlayer(Manager.MIDI_DEVICE_LOCATOR);&lt;br /&gt;
      firePlayer.prefetch();&lt;br /&gt;
      mControl = (MIDIControl) firePlayer&lt;br /&gt;
          .getControl(&amp;quot;javax.microedition.media.control.MIDIControl&amp;quot;);&lt;br /&gt;
      mControl.setProgram(11, -1, 127);&lt;br /&gt;
      jumpPlayer = Manager.createPlayer(getClass().getResourceAsStream(&lt;br /&gt;
          &amp;quot;/p.wav&amp;quot;), &amp;quot;audio/x-wav&amp;quot;);&lt;br /&gt;
      jumpPlayer.prefetch();&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    try {&lt;br /&gt;
      if (backgroundPlayer != null) {&lt;br /&gt;
        backgroundPlayer.start();&lt;br /&gt;
      }&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
    display.setCurrent(alert);&lt;br /&gt;
  }&lt;br /&gt;
  public void commandAction(Command cmd, Displayable disp) {&lt;br /&gt;
    if (cmd == exitCommand) {&lt;br /&gt;
      destroyApp(true);&lt;br /&gt;
      notifyDestroyed();&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
    try {&lt;br /&gt;
      if (cmd == fireCommand) {&lt;br /&gt;
        mControl.shortMidiEvent(MIDIControl.NOTE_ON | 11, 60, 100);&lt;br /&gt;
      }&lt;br /&gt;
      if (cmd == jumpCommand) {&lt;br /&gt;
        jumpPlayer.start();&lt;br /&gt;
      }&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
    try {&lt;br /&gt;
      if (backgroundPlayer != null)&lt;br /&gt;
        backgroundPlayer.stop();&lt;br /&gt;
      if (firePlayer != null)&lt;br /&gt;
        firePlayer.stop();&lt;br /&gt;
      if (jumpPlayer != null)&lt;br /&gt;
        jumpPlayer.stop();&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
    try {&lt;br /&gt;
      if (backgroundPlayer != null) {&lt;br /&gt;
        backgroundPlayer.close();&lt;br /&gt;
        backgroundPlayer = null;&lt;br /&gt;
      }&lt;br /&gt;
      if (firePlayer != null) {&lt;br /&gt;
        firePlayer.close();&lt;br /&gt;
        firePlayer = null;&lt;br /&gt;
      }&lt;br /&gt;
      if (jumpPlayer != null) {&lt;br /&gt;
        jumpPlayer.close();&lt;br /&gt;
        jumpPlayer = null;&lt;br /&gt;
      }&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Play MIDI ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.microedition.media.Manager;&lt;br /&gt;
import javax.microedition.media.Player;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class PlayMIDIMIDlet extends MIDlet {&lt;br /&gt;
  Player midiPlayer = null;&lt;br /&gt;
  public PlayMIDIMIDlet() {&lt;br /&gt;
    try {&lt;br /&gt;
      midiPlayer = Manager.createPlayer(getClass().getResourceAsStream(&amp;quot;/a.mid&amp;quot;), &amp;quot;audio/midi&amp;quot;);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    try {&lt;br /&gt;
      if (midiPlayer != null) {&lt;br /&gt;
        midiPlayer.start();&lt;br /&gt;
      }&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>