<?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%2FJ2ME%2FAudio_Media</id>
		<title>Java/J2ME/Audio Media - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FJ2ME%2FAudio_Media"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/J2ME/Audio_Media&amp;action=history"/>
		<updated>2026-04-21T23:07:17Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/J2ME/Audio_Media&amp;diff=7279&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/J2ME/Audio_Media&amp;diff=7279&amp;oldid=prev"/>
				<updated>2010-06-01T06:37:52Z</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;Версия 06:37, 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/J2ME/Audio_Media&amp;diff=7278&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/J2ME/Audio_Media&amp;diff=7278&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:44Z</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;== Audio MIDlet ==&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;
/*&lt;br /&gt;
Wireless Java 2nd edition &lt;br /&gt;
Jonathan Knudsen&lt;br /&gt;
Publisher: Apress&lt;br /&gt;
ISBN: 1590590775 &lt;br /&gt;
*/&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import javax.microedition.io.*;&lt;br /&gt;
import javax.microedition.lcdui.*;&lt;br /&gt;
import javax.microedition.midlet.*;&lt;br /&gt;
import javax.microedition.media.*;&lt;br /&gt;
public class AudioMIDlet&lt;br /&gt;
    extends MIDlet&lt;br /&gt;
    implements CommandListener, Runnable {&lt;br /&gt;
  private Display mDisplay;&lt;br /&gt;
  private List mMainScreen;&lt;br /&gt;
  &lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    mDisplay = Display.getDisplay(this);&lt;br /&gt;
    &lt;br /&gt;
    if (mMainScreen == null) {&lt;br /&gt;
      mMainScreen = new List(&amp;quot;AudioMIDlet&amp;quot;, List.IMPLICIT);&lt;br /&gt;
  &lt;br /&gt;
      mMainScreen.append(&amp;quot;Via HTTP&amp;quot;, null);&lt;br /&gt;
      mMainScreen.append(&amp;quot;From resource&amp;quot;, null);&lt;br /&gt;
      mMainScreen.addCommand(new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 0));&lt;br /&gt;
      mMainScreen.addCommand(new Command(&amp;quot;Play&amp;quot;, Command.SCREEN, 0));&lt;br /&gt;
      mMainScreen.setCommandListener(this);&lt;br /&gt;
    }&lt;br /&gt;
    mDisplay.setCurrent(mMainScreen);&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {}&lt;br /&gt;
  public void destroyApp(boolean unconditional) {}&lt;br /&gt;
  &lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    if (c.getCommandType() == Command.EXIT) notifyDestroyed();&lt;br /&gt;
    else {&lt;br /&gt;
      Form waitForm = new Form(&amp;quot;Loading...&amp;quot;);&lt;br /&gt;
      mDisplay.setCurrent(waitForm);&lt;br /&gt;
      Thread t = new Thread(this);&lt;br /&gt;
      t.start();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void run() {&lt;br /&gt;
    String selection = mMainScreen.getString(&lt;br /&gt;
        mMainScreen.getSelectedIndex());&lt;br /&gt;
    boolean viaHttp = selection.equals(&amp;quot;Via HTTP&amp;quot;);&lt;br /&gt;
    if (viaHttp)&lt;br /&gt;
      playViaHttp();&lt;br /&gt;
    else&lt;br /&gt;
      playFromResource();&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  private void playViaHttp() {&lt;br /&gt;
    try {&lt;br /&gt;
      String url = getAppProperty(&amp;quot;AudioMIDlet-URL&amp;quot;);&lt;br /&gt;
      Player player = Manager.createPlayer(url);&lt;br /&gt;
      player.start();&lt;br /&gt;
    }&lt;br /&gt;
    catch (Exception e) {&lt;br /&gt;
      showException(e);&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
    mDisplay.setCurrent(mMainScreen);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  private void playFromResource() {&lt;br /&gt;
    try {&lt;br /&gt;
      InputStream in = getClass().getResourceAsStream(&amp;quot;/relax.wav&amp;quot;);&lt;br /&gt;
      Player player = Manager.createPlayer(in, &amp;quot;audio/x-wav&amp;quot;);&lt;br /&gt;
      player.start();&lt;br /&gt;
    }&lt;br /&gt;
    catch (Exception e) {&lt;br /&gt;
      showException(e);&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
    mDisplay.setCurrent(mMainScreen);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  private void showException(Exception e) {&lt;br /&gt;
    Alert a = new Alert(&amp;quot;Exception&amp;quot;, e.toString(), null, null);&lt;br /&gt;
    a.setTimeout(Alert.FOREVER);&lt;br /&gt;
    mDisplay.setCurrent(a, mMainScreen);&lt;br /&gt;
  }&lt;br /&gt;
}&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;
== demonstrate the functionality supported by javax.microedition.lcdui package. ==&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;
&lt;br /&gt;
import javax.microedition.midlet.*;&lt;br /&gt;
import javax.microedition.lcdui.*;&lt;br /&gt;
/*&lt;br /&gt;
MIDlet to demonstrate the functionality supported by javax.microedition.lcdui package.&lt;br /&gt;
Make changes inside the  constructor (SimpleMIDlet() method) and inside the startApp()&lt;br /&gt;
method to see all the different functionality in this package.&lt;br /&gt;
*** High-level APIs&lt;br /&gt;
    ---------------&lt;br /&gt;
1. testForm() method demonstrates a variety of formElements which are individually &lt;br /&gt;
   instantiated from inside the addItemsToForm() method&lt;br /&gt;
2. testAlert() method throws up an Alert on top of an existing form when the SCREEN &lt;br /&gt;
   button on the form is clicked&lt;br /&gt;
3. testList() and testBox() methods demonstrate the use of IMPLICIT List and TextBox &lt;br /&gt;
   respectively&lt;br /&gt;
*** Low-level APIs&lt;br /&gt;
    --------------&lt;br /&gt;
testCanvas()method demonstrates the use of low-level APIs&lt;br /&gt;
*/&lt;br /&gt;
public class SimpleMIDlet extends MIDlet implements CommandListener, ItemStateListener &lt;br /&gt;
{&lt;br /&gt;
    Form simpleForm;&lt;br /&gt;
    List simpleList;&lt;br /&gt;
    TextBox simpleTextBox;&lt;br /&gt;
    Alert simpleAlert;&lt;br /&gt;
    SimpleCanvas simpleCanvas;&lt;br /&gt;
    Ticker t;&lt;br /&gt;
    Command c1 = new Command(&amp;quot;Back&amp;quot;, Command.BACK, 1);&lt;br /&gt;
    Command c2 = new Command(&amp;quot;Screen&amp;quot;, Command.SCREEN, 1);&lt;br /&gt;
    Command c3 = new Command(&amp;quot;OK&amp;quot;, Command.OK, 1);&lt;br /&gt;
    public SimpleMIDlet (){&lt;br /&gt;
  // High-level API examples&lt;br /&gt;
  &lt;br /&gt;
  // 1. Form and form elements: &lt;br /&gt;
  //        a. Uncomment corresponding line in startApp() also&lt;br /&gt;
  //        b. Uncomment following line and comment out all other lines   &lt;br /&gt;
  testForm();&lt;br /&gt;
  &lt;br /&gt;
  // 2. Alert example; click on the SCREEN button to see the Alert&lt;br /&gt;
  //        a. Uncomment corresponding line in startApp() also&lt;br /&gt;
  //        b. Uncomment following line and comment out all other lines&lt;br /&gt;
  // testAlert();&lt;br /&gt;
  // 3. IMPLICIT List example&lt;br /&gt;
  //        a. Uncomment corresponding line in startApp() also&lt;br /&gt;
  //        b. Uncomment following line and comment out all other lines   &lt;br /&gt;
  // testList();&lt;br /&gt;
  // 4. TextBox example&lt;br /&gt;
  //        a. Uncomment corresponding line in startApp() also&lt;br /&gt;
  //        b. Uncomment following line and comment out all other lines   &lt;br /&gt;
  // testTextBox();&lt;br /&gt;
  &lt;br /&gt;
  // Low-level API examples&lt;br /&gt;
  //        a. Uncomment corresponding line in startApp() also&lt;br /&gt;
  //        b. Uncomment following line and comment out all other lines&lt;br /&gt;
  // testCanvas();&lt;br /&gt;
    }&lt;br /&gt;
    protected void destroyApp(boolean unconditional) {&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    protected  void pauseApp() {&lt;br /&gt;
    }&lt;br /&gt;
    private void testForm() {&lt;br /&gt;
  simpleForm  = new Form(&amp;quot;Simple Form&amp;quot;);&lt;br /&gt;
  // Create and add a new ticker to the Form&lt;br /&gt;
  t = new Ticker(&amp;quot;Tick tock tick tock&amp;quot;);&lt;br /&gt;
  simpleForm.setTicker(t);&lt;br /&gt;
  // Add a few Commands to the Form&lt;br /&gt;
  simpleForm.addCommand(c1);&lt;br /&gt;
  simpleForm.addCommand(c2);&lt;br /&gt;
  simpleForm.addCommand(c3);&lt;br /&gt;
  addItemsToForm();&lt;br /&gt;
    }&lt;br /&gt;
    private void addItemsToForm() {&lt;br /&gt;
  addChoiceGroup();&lt;br /&gt;
  addDateField();&lt;br /&gt;
  addGauge();&lt;br /&gt;
  addImageItem();&lt;br /&gt;
  addTextField();&lt;br /&gt;
    }&lt;br /&gt;
    private void addChoiceGroup() {&lt;br /&gt;
  Image icon = null;&lt;br /&gt;
  // Load image&lt;br /&gt;
  try {&lt;br /&gt;
      icon = Image.createImage(&amp;quot;/midp/simpleMIDlet/Icon.png&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  catch (java.io.IOException e) {&lt;br /&gt;
      System.out.println(&amp;quot;Could not load image. Exception: &amp;quot; + e);&lt;br /&gt;
  }&lt;br /&gt;
  // Image choices&lt;br /&gt;
  Image[] imageArray = new Image[]{ icon, icon, icon };&lt;br /&gt;
  String[] stringArray = { &amp;quot;Choice 1&amp;quot;, &lt;br /&gt;
         &amp;quot;Choice 2&amp;quot;, &lt;br /&gt;
         &amp;quot;Choice 3&amp;quot; };&lt;br /&gt;
  // Set up an exclusive choice group&lt;br /&gt;
  ChoiceGroup cGroup1 = new ChoiceGroup(&amp;quot;Exclusive&amp;quot;,&lt;br /&gt;
                ChoiceGroup.EXCLUSIVE,&lt;br /&gt;
                stringArray,&lt;br /&gt;
                imageArray);&lt;br /&gt;
  // Set up a multiple choice choice group&lt;br /&gt;
  ChoiceGroup cGroup2 = new ChoiceGroup(&amp;quot;Multiple&amp;quot;,&lt;br /&gt;
                ChoiceGroup.MULTIPLE,&lt;br /&gt;
                stringArray,&lt;br /&gt;
                imageArray);&lt;br /&gt;
  simpleForm.append( cGroup1 );&lt;br /&gt;
  simpleForm.append( cGroup2 );&lt;br /&gt;
  simpleForm.setItemStateListener(this);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public void itemStateChanged (Item item) {&lt;br /&gt;
  if( item.getLabel().equals(&amp;quot;Exclusive&amp;quot;)) { &lt;br /&gt;
      int choice = ((ChoiceGroup)item).getSelectedIndex();&lt;br /&gt;
      switch (choice) {&lt;br /&gt;
      case 0: &lt;br /&gt;
    simpleForm.append(&amp;quot;\nSelection: 0\n&amp;quot;);&lt;br /&gt;
    break;&lt;br /&gt;
      case 1:&lt;br /&gt;
    simpleForm.append(&amp;quot;\nSelection: 1\n&amp;quot;);&lt;br /&gt;
    break;&lt;br /&gt;
      case 2:&lt;br /&gt;
    simpleForm.append(&amp;quot;\nSelection: 2\n&amp;quot;);&lt;br /&gt;
    break;&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
    }&lt;br /&gt;
    private void addDateField() {&lt;br /&gt;
  simpleForm.append(new DateField(&amp;quot;Date&amp;quot;, DateField.DATE));&lt;br /&gt;
        simpleForm.append(new DateField(&amp;quot;Date &amp;amp; Time&amp;quot;, DateField.DATE_TIME));&lt;br /&gt;
    }&lt;br /&gt;
    private void addGauge() {&lt;br /&gt;
  // Add an interactive gauge with the maximum value of 100 &lt;br /&gt;
  // and an initial value of 50 &lt;br /&gt;
  simpleForm.append(new Gauge(&amp;quot;Interactive&amp;quot;, true, 100, 50));&lt;br /&gt;
  &lt;br /&gt;
  // Add a  non-interactive gauge&lt;br /&gt;
  simpleForm.append(new Gauge(&amp;quot;Non-interactive&amp;quot;, false, 100, 50));&lt;br /&gt;
    }&lt;br /&gt;
    private void addImageItem() {&lt;br /&gt;
  Image image = null;&lt;br /&gt;
        try {&lt;br /&gt;
      image = Image.createImage(&amp;quot;/midp/SimpleMIDlet/JavaPowered-8.png&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
        catch(java.io.IOException e) {&lt;br /&gt;
      System.out.println(&amp;quot;Could not load image. Exception: &amp;quot; + e);&lt;br /&gt;
        }&lt;br /&gt;
  simpleForm.append(&lt;br /&gt;
        new ImageItem(&amp;quot;Default layout&amp;quot;,&lt;br /&gt;
          image,&lt;br /&gt;
          ImageItem.LAYOUT_LEFT + ImageItem.LAYOUT_NEWLINE_BEFORE,&lt;br /&gt;
          &amp;quot;Image not visible&amp;quot;));&lt;br /&gt;
  &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private void addTextField() {&lt;br /&gt;
  simpleForm.append(new TextField(&amp;quot;Any character&amp;quot;, &amp;quot;&amp;quot;, 15, TextField.ANY));&lt;br /&gt;
        simpleForm.append(new TextField(&amp;quot;Email address&amp;quot;, &amp;quot;&amp;quot;, 20, TextField.EMAILADDR));&lt;br /&gt;
        simpleForm.append(new TextField(&amp;quot;Numeric&amp;quot;, &amp;quot;&amp;quot;, 10, TextField.NUMERIC));&lt;br /&gt;
        simpleForm.append(new TextField(&amp;quot;Phone&amp;quot;, &amp;quot;&amp;quot;, 12, TextField.PHONENUMBER));&lt;br /&gt;
        simpleForm.append(new TextField(&amp;quot;Password&amp;quot;, &amp;quot;&amp;quot;, 6, TextField.PASSWORD));&lt;br /&gt;
        simpleForm.append(new TextField(&amp;quot;URL&amp;quot;, &amp;quot;&amp;quot;, 30, TextField.URL));&lt;br /&gt;
  &lt;br /&gt;
    }&lt;br /&gt;
    private void testList() {&lt;br /&gt;
  String[] listElems = {&lt;br /&gt;
      &amp;quot;Element 1&amp;quot;,&lt;br /&gt;
      &amp;quot;Element 2&amp;quot;,&lt;br /&gt;
      &amp;quot;Element 3&amp;quot;,&lt;br /&gt;
      &amp;quot;Element 4&amp;quot;,&lt;br /&gt;
      &amp;quot;Element 5&amp;quot;,&lt;br /&gt;
      &amp;quot;Element 6&amp;quot;,&lt;br /&gt;
      &amp;quot;Element 7&amp;quot;,&lt;br /&gt;
      &amp;quot;Element 8&amp;quot;,&lt;br /&gt;
      &amp;quot;Element 9&amp;quot;&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  simpleList = new List(&amp;quot;List&amp;quot;, List.IMPLICIT, listElems, null);&lt;br /&gt;
    }&lt;br /&gt;
    private void testTextBox() {&lt;br /&gt;
  simpleTextBox = new TextBox(&amp;quot;Textbox&amp;quot;, &amp;quot;4154&amp;quot;, 10, TextField.PASSWORD);&lt;br /&gt;
    }&lt;br /&gt;
    private void testAlert() {&lt;br /&gt;
  testForm();&lt;br /&gt;
  simpleAlert = new Alert(&amp;quot;Alert&amp;quot;);&lt;br /&gt;
        simpleAlert.setTimeout(Alert.FOREVER);&lt;br /&gt;
        simpleAlert.setString(&amp;quot;This is a test Alert&amp;quot;);&lt;br /&gt;
        simpleAlert.setType(AlertType.INFO);&lt;br /&gt;
    }&lt;br /&gt;
    private void testCanvas() {&lt;br /&gt;
  simpleCanvas = new SimpleCanvas();&lt;br /&gt;
    }&lt;br /&gt;
    public void commandAction(Command c, Displayable d) {&lt;br /&gt;
  if ( c.getCommandType() == Command.BACK ) {&lt;br /&gt;
      // Go back&lt;br /&gt;
  }&lt;br /&gt;
  if ( c.getCommandType() == Command.SCREEN ) {&lt;br /&gt;
      Display.getDisplay(this).setCurrent(simpleAlert, simpleForm);&lt;br /&gt;
  }&lt;br /&gt;
    }&lt;br /&gt;
    protected void startApp() {&lt;br /&gt;
  SimpleMIDlet simpleMIDlet = new SimpleMIDlet();&lt;br /&gt;
  &lt;br /&gt;
  // High-level API examples&lt;br /&gt;
  // 1. Uncomment the following two lines for Form and Alert examples and comment all others&lt;br /&gt;
        Display.getDisplay(this).setCurrent(simpleMIDlet.simpleForm);&lt;br /&gt;
  simpleMIDlet.simpleForm.setCommandListener(this);&lt;br /&gt;
  // 2. Uncomment following line for IMPLICIT List example and comment all others&lt;br /&gt;
  // Display.getDisplay(this).setCurrent(simpleMIDlet.simpleList);&lt;br /&gt;
  // 3. Uncomment following line for TextBox examples and comment all others&lt;br /&gt;
  // Display.getDisplay(this).setCurrent(simpleMIDlet.simpleTextBox);&lt;br /&gt;
  // Low-level API examples &lt;br /&gt;
  // Uncomment following line and comment all others&lt;br /&gt;
  // Display.getDisplay(this).setCurrent(simpleMIDlet.simpleCanvas);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class SimpleCanvas extends Canvas {&lt;br /&gt;
    &lt;br /&gt;
    int width, height;&lt;br /&gt;
    int widthShift, heightShift;&lt;br /&gt;
    String displayString;&lt;br /&gt;
    public SimpleCanvas( ){&lt;br /&gt;
  super();&lt;br /&gt;
  width = getWidth() - 1;&lt;br /&gt;
  height = getHeight() - 1;&lt;br /&gt;
  widthShift = 0;&lt;br /&gt;
  heightShift = 0;&lt;br /&gt;
  displayString = &amp;quot;Hello World&amp;quot;;&lt;br /&gt;
    } &lt;br /&gt;
 &lt;br /&gt;
    protected void paint( Graphics g ){&lt;br /&gt;
        g.setColor( 0xffffff );&lt;br /&gt;
        g.fillRect( 0, 0, width, height );&lt;br /&gt;
        g.setColor( 0 );&lt;br /&gt;
        g.drawString( displayString, width/2 + widthShift, height/2 + heightShift,&lt;br /&gt;
                       g.TOP | g.HCENTER );&lt;br /&gt;
    }&lt;br /&gt;
    public void keyPressed( int keyCode) {&lt;br /&gt;
  int action = getGameAction(keyCode);&lt;br /&gt;
  switch (action) {&lt;br /&gt;
  case LEFT:&lt;br /&gt;
      widthShift -= 2;&lt;br /&gt;
      break;&lt;br /&gt;
  case RIGHT:&lt;br /&gt;
      widthShift += 2;&lt;br /&gt;
      break;&lt;br /&gt;
  case UP:&lt;br /&gt;
      heightShift -= 2;&lt;br /&gt;
      break;&lt;br /&gt;
  case DOWN:&lt;br /&gt;
      heightShift += 2;&lt;br /&gt;
      break;&lt;br /&gt;
  case FIRE:&lt;br /&gt;
      displayString = &amp;quot;Boom!&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  repaint();&lt;br /&gt;
    }&lt;br /&gt;
}&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;
== Media Information MIDlet ==&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;
/*&lt;br /&gt;
Wireless Java 2nd edition &lt;br /&gt;
Jonathan Knudsen&lt;br /&gt;
Publisher: Apress&lt;br /&gt;
ISBN: 1590590775 &lt;br /&gt;
*/&lt;br /&gt;
import javax.microedition.lcdui.*;&lt;br /&gt;
import javax.microedition.midlet.*;&lt;br /&gt;
import javax.microedition.media.*;&lt;br /&gt;
public class MediaInformationMIDlet extends MIDlet implements CommandListener {&lt;br /&gt;
  private Form mInformationForm;&lt;br /&gt;
  &lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    if (mInformationForm == null) {&lt;br /&gt;
      mInformationForm =&lt;br /&gt;
          new Form(&amp;quot;Content types and protocols&amp;quot;);&lt;br /&gt;
      String[] contentTypes =&lt;br /&gt;
          Manager.getSupportedContentTypes(null);&lt;br /&gt;
      for (int i = 0; i &amp;lt; contentTypes.length; i++) {&lt;br /&gt;
        String[] protocols =&lt;br /&gt;
            Manager.getSupportedProtocols(contentTypes[i]);&lt;br /&gt;
        for (int j = 0; j &amp;lt; protocols.length; j++) {&lt;br /&gt;
          StringItem si = new StringItem(contentTypes[i] + &amp;quot;: &amp;quot;,&lt;br /&gt;
              protocols[j]);&lt;br /&gt;
          //si.setLayout(Item.LAYOUT_NEWLINE_AFTER);&lt;br /&gt;
          mInformationForm.append(si);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      Command exitCommand = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 0);&lt;br /&gt;
      mInformationForm.addCommand(exitCommand);&lt;br /&gt;
      mInformationForm.setCommandListener(this);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    Display.getDisplay(this).setCurrent(mInformationForm);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  public void pauseApp() {}&lt;br /&gt;
  public void destroyApp(boolean unconditional) {}&lt;br /&gt;
  &lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    notifyDestroyed();&lt;br /&gt;
  }&lt;br /&gt;
}&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;
== Piano MIDlet ==&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;
/*&lt;br /&gt;
Wireless Java 2nd edition &lt;br /&gt;
Jonathan Knudsen&lt;br /&gt;
Publisher: Apress&lt;br /&gt;
ISBN: 1590590775 &lt;br /&gt;
*/&lt;br /&gt;
import javax.microedition.media.*;&lt;br /&gt;
import javax.microedition.lcdui.*;&lt;br /&gt;
import javax.microedition.midlet.*;&lt;br /&gt;
public class PianoMIDlet&lt;br /&gt;
    extends MIDlet {&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    Displayable d = new PianoCanvas();&lt;br /&gt;
    &lt;br /&gt;
    d.addCommand(new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 0));&lt;br /&gt;
    d.setCommandListener(new CommandListener() {&lt;br /&gt;
      public void commandAction(Command c, Displayable s) {&lt;br /&gt;
        notifyDestroyed();&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    Display.getDisplay(this).setCurrent(d);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  public void pauseApp() {}&lt;br /&gt;
  public void destroyApp(boolean unconditional) {}&lt;br /&gt;
}&lt;br /&gt;
class PianoCanvas extends Canvas {&lt;br /&gt;
  private static final int[] kNoteX = {&lt;br /&gt;
     0, 11, 16, 29, 32, 48, 59, 64, 76, 80, 93, 96&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  private static final int[] kNoteWidth = {&lt;br /&gt;
    16,  8, 16,  8, 16, 16,  8, 16,  8, 16,  8, 16&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  private static final int[] kNoteHeight = {&lt;br /&gt;
    96, 64, 96, 64, 96, 96, 64, 96, 64, 96, 64, 96&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  private static final boolean[] kBlack = {&lt;br /&gt;
    false, true, false, true, false,&lt;br /&gt;
        false, true, false, true, false, true, false&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  private int mMiddleCX, mMiddleCY;&lt;br /&gt;
  &lt;br /&gt;
  private int mCurrentNote;&lt;br /&gt;
  &lt;br /&gt;
  public PianoCanvas() {&lt;br /&gt;
    int w = getWidth();&lt;br /&gt;
    int h = getHeight();&lt;br /&gt;
    &lt;br /&gt;
    int fullWidth = kNoteWidth[0] * 8;&lt;br /&gt;
    mMiddleCX = (w - fullWidth) / 2;&lt;br /&gt;
    mMiddleCY = (h - kNoteHeight[0]) / 2;&lt;br /&gt;
    &lt;br /&gt;
    mCurrentNote = 60;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    int w = getWidth();&lt;br /&gt;
    int h = getHeight();&lt;br /&gt;
    &lt;br /&gt;
    g.setColor(0xffffff);&lt;br /&gt;
    g.fillRect(0, 0, w, h);&lt;br /&gt;
    g.setColor(0x000000);&lt;br /&gt;
    &lt;br /&gt;
    for (int i = 60; i &amp;lt;= 72; i++)&lt;br /&gt;
      drawNote(g, i);&lt;br /&gt;
    &lt;br /&gt;
    drawSelection(g, mCurrentNote);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  private void drawNote(Graphics g, int note) {&lt;br /&gt;
    int n = note % 12;&lt;br /&gt;
    int octaveOffset = ((note - n) / 12 - 5) * 7 * kNoteWidth[0];&lt;br /&gt;
    int x = mMiddleCX + octaveOffset + kNoteX[n];&lt;br /&gt;
    int y = mMiddleCY;&lt;br /&gt;
    int w = kNoteWidth[n];&lt;br /&gt;
    int h = kNoteHeight[n];&lt;br /&gt;
    &lt;br /&gt;
    if (isBlack(n))&lt;br /&gt;
      g.fillRect(x, y, w, h);&lt;br /&gt;
    else&lt;br /&gt;
      g.drawRect(x, y, w, h);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  private void drawSelection(Graphics g, int note) {&lt;br /&gt;
    int n = note % 12;&lt;br /&gt;
    int octaveOffset = ((note - n) / 12 - 5) * 7 * kNoteWidth[0];&lt;br /&gt;
    int x = mMiddleCX + octaveOffset + kNoteX[n];&lt;br /&gt;
    int y = mMiddleCY;&lt;br /&gt;
    int w = kNoteWidth[n];&lt;br /&gt;
    int h = kNoteHeight[n];&lt;br /&gt;
    &lt;br /&gt;
    int sw = 6;&lt;br /&gt;
    int sx = x + (w - sw) / 2;&lt;br /&gt;
    int sy = y + h - 8;&lt;br /&gt;
    g.setColor(0xffffff);&lt;br /&gt;
    g.fillRect(sx, sy, sw, sw);&lt;br /&gt;
    g.setColor(0x000000);&lt;br /&gt;
    g.drawRect(sx, sy, sw, sw);&lt;br /&gt;
    g.drawLine(sx, sy, sx + sw, sy + sw);&lt;br /&gt;
    g.drawLine(sx, sy + sw, sx + sw, sy);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  private boolean isBlack(int note) {&lt;br /&gt;
    return kBlack[note];&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  public void keyPressed(int keyCode) {&lt;br /&gt;
    int action = getGameAction(keyCode);&lt;br /&gt;
    switch (action) {&lt;br /&gt;
      case LEFT:&lt;br /&gt;
        mCurrentNote--;&lt;br /&gt;
        if (mCurrentNote &amp;lt; 60)&lt;br /&gt;
          mCurrentNote = 60;&lt;br /&gt;
        repaint();&lt;br /&gt;
        break;&lt;br /&gt;
      case RIGHT:&lt;br /&gt;
        mCurrentNote++;&lt;br /&gt;
        if (mCurrentNote &amp;gt; 72)&lt;br /&gt;
          mCurrentNote = 72;&lt;br /&gt;
        repaint();&lt;br /&gt;
        break;&lt;br /&gt;
      case FIRE:&lt;br /&gt;
        try { Manager.playTone(mCurrentNote, 1000, 100); }&lt;br /&gt;
        catch (MediaException me) {}&lt;br /&gt;
        break;&lt;br /&gt;
      default:&lt;br /&gt;
        break;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&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;
== Sound Alert ==&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;
&lt;br /&gt;
/*--------------------------------------------------&lt;br /&gt;
* SoundAlert.java&lt;br /&gt;
*&lt;br /&gt;
* Example from the book:     Core J2ME Technology&lt;br /&gt;
* Copyright John W. Muchow   http://www.CoreJ2ME.ru&lt;br /&gt;
* You may use/modify for any non-commercial purpose&lt;br /&gt;
*-------------------------------------------------*/&lt;br /&gt;
import javax.microedition.midlet.*;&lt;br /&gt;
import javax.microedition.lcdui.*;&lt;br /&gt;
public class SoundAlert extends MIDlet implements ItemStateListener, CommandListener&lt;br /&gt;
{&lt;br /&gt;
  private Display display;      // Reference to display object &lt;br /&gt;
  private Form fmMain;         // Main form&lt;br /&gt;
  private Command cmExit;      // Command to exit the MIDlet&lt;br /&gt;
  private ChoiceGroup cgSound; // Choice group&lt;br /&gt;
  public SoundAlert()&lt;br /&gt;
  {&lt;br /&gt;
    display = Display.getDisplay(this);&lt;br /&gt;
    // Create an exclusive (radio) choice group&lt;br /&gt;
    cgSound = new ChoiceGroup(&amp;quot;Choose a sound&amp;quot;, Choice.EXCLUSIVE);&lt;br /&gt;
    &lt;br /&gt;
    // Append options, with no associated images&lt;br /&gt;
    cgSound.append(&amp;quot;Info&amp;quot;, null);    &lt;br /&gt;
    cgSound.append(&amp;quot;Confirmation&amp;quot;, null);    &lt;br /&gt;
    cgSound.append(&amp;quot;Warning&amp;quot;, null);            &lt;br /&gt;
    cgSound.append(&amp;quot;Alarm&amp;quot;, null);        &lt;br /&gt;
    cgSound.append(&amp;quot;Error&amp;quot;, null);    &lt;br /&gt;
    cmExit = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
    // Create Form, add components, listen for events&lt;br /&gt;
    fmMain = new Form(&amp;quot;&amp;quot;);&lt;br /&gt;
    fmMain.append(cgSound);&lt;br /&gt;
    fmMain.addCommand(cmExit);&lt;br /&gt;
    fmMain.setCommandListener(this);   &lt;br /&gt;
    fmMain.setItemStateListener(this);&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp()&lt;br /&gt;
  {&lt;br /&gt;
    display.setCurrent(fmMain);&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp()&lt;br /&gt;
  { }&lt;br /&gt;
  &lt;br /&gt;
  public void destroyApp(boolean unconditional)&lt;br /&gt;
  { }&lt;br /&gt;
  public void commandAction(Command c, Displayable s)&lt;br /&gt;
  {&lt;br /&gt;
    if (c == cmExit)&lt;br /&gt;
    {&lt;br /&gt;
      destroyApp(false);&lt;br /&gt;
      notifyDestroyed();&lt;br /&gt;
    } &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  public void itemStateChanged(Item item)              &lt;br /&gt;
  {&lt;br /&gt;
    switch (cgSound.getSelectedIndex())&lt;br /&gt;
    {&lt;br /&gt;
      case 0: &lt;br /&gt;
        AlertType.INFO.playSound(display);&lt;br /&gt;
        break;&lt;br /&gt;
      case 1:&lt;br /&gt;
        AlertType.CONFIRMATION.playSound(display);&lt;br /&gt;
        break;&lt;br /&gt;
      case 2:&lt;br /&gt;
        AlertType.WARNING.playSound(display);&lt;br /&gt;
        break;&lt;br /&gt;
      case 3:&lt;br /&gt;
        AlertType.ALARM.playSound(display);&lt;br /&gt;
        break;&lt;br /&gt;
      case 4:&lt;br /&gt;
        AlertType.ERROR.playSound(display);&lt;br /&gt;
        break;&lt;br /&gt;
    }&lt;br /&gt;
  }&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;
== Tone MIDlet ==&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;
/*&lt;br /&gt;
Wireless Java 2nd edition &lt;br /&gt;
Jonathan Knudsen&lt;br /&gt;
Publisher: Apress&lt;br /&gt;
ISBN: 1590590775 &lt;br /&gt;
*/&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import javax.microedition.io.*;&lt;br /&gt;
import javax.microedition.lcdui.*;&lt;br /&gt;
import javax.microedition.midlet.*;&lt;br /&gt;
import javax.microedition.media.*;&lt;br /&gt;
import javax.microedition.media.control.*;&lt;br /&gt;
public class ToneMIDlet extends MIDlet implements CommandListener {&lt;br /&gt;
  private final static String kSoundOfMusic = &amp;quot;Sound of Music&amp;quot;;&lt;br /&gt;
  private final static String kQuandoMenVo = &amp;quot;Quando men vo&amp;quot;;&lt;br /&gt;
  private final static String kTwinkle = &amp;quot;Twinkle number VII&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  private Display mDisplay;&lt;br /&gt;
  private List mMainScreen;&lt;br /&gt;
  &lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    mDisplay = Display.getDisplay(this);&lt;br /&gt;
    &lt;br /&gt;
    if (mMainScreen == null) {&lt;br /&gt;
      mMainScreen = new List(&amp;quot;AudioMIDlet&amp;quot;, List.IMPLICIT);&lt;br /&gt;
  &lt;br /&gt;
      mMainScreen.append(kSoundOfMusic, null);&lt;br /&gt;
      mMainScreen.append(kQuandoMenVo, null);&lt;br /&gt;
      mMainScreen.append(kTwinkle, null);&lt;br /&gt;
      mMainScreen.addCommand(new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 0));&lt;br /&gt;
      mMainScreen.addCommand(new Command(&amp;quot;Play&amp;quot;, Command.SCREEN, 0));&lt;br /&gt;
      mMainScreen.setCommandListener(this);&lt;br /&gt;
    }&lt;br /&gt;
    mDisplay.setCurrent(mMainScreen);&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {}&lt;br /&gt;
  public void destroyApp(boolean unconditional) {}&lt;br /&gt;
  &lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    if (c.getCommandType() == Command.EXIT) notifyDestroyed();&lt;br /&gt;
    else run();&lt;br /&gt;
  }&lt;br /&gt;
  public void run() {&lt;br /&gt;
    String selection = mMainScreen.getString(&lt;br /&gt;
        mMainScreen.getSelectedIndex());&lt;br /&gt;
    &lt;br /&gt;
    byte[] sequence = null;&lt;br /&gt;
    if (selection.equals(kSoundOfMusic)) {&lt;br /&gt;
      sequence = new byte[] {&lt;br /&gt;
        ToneControl.VERSION, 1,&lt;br /&gt;
        67, 16, // The&lt;br /&gt;
        69, 16, // hills&lt;br /&gt;
        67,  8, // are&lt;br /&gt;
        65,  8, // a -&lt;br /&gt;
        64, 48, // live&lt;br /&gt;
        62,  8, // with&lt;br /&gt;
        60,  8, // the&lt;br /&gt;
        59, 16, // sound&lt;br /&gt;
        57, 16, // of&lt;br /&gt;
        59, 32, // mu -&lt;br /&gt;
        59, 32  // sic&lt;br /&gt;
      };&lt;br /&gt;
    }&lt;br /&gt;
    else if (selection.equals(kQuandoMenVo)) {&lt;br /&gt;
      sequence = new byte[] {&lt;br /&gt;
        ToneControl.VERSION, 1,&lt;br /&gt;
        ToneControl.TEMPO, 22,&lt;br /&gt;
        ToneControl.RESOLUTION, 96,&lt;br /&gt;
        64, 48, ToneControl.SILENCE, 8, 52, 4, 56, 4, 59, 4, 64, 4,&lt;br /&gt;
        63, 48, ToneControl.SILENCE, 8, 52, 4, 56, 4, 59, 4, 63, 4,&lt;br /&gt;
        61, 72,&lt;br /&gt;
        ToneControl.SILENCE, 12, 61, 12,&lt;br /&gt;
            63, 12, 66, 2, 64, 10, 63, 12, 61, 12,&lt;br /&gt;
        64, 12, 57, 12, 57, 48,&lt;br /&gt;
        ToneControl.SILENCE, 12, 59, 12,&lt;br /&gt;
            61, 12, 64, 2, 63, 10, 61, 12, 59, 12,&lt;br /&gt;
        63, 12, 56, 12, 56, 48,&lt;br /&gt;
      };&lt;br /&gt;
    }&lt;br /&gt;
    else if (selection.equals(kTwinkle)) {&lt;br /&gt;
      sequence = new byte[] {&lt;br /&gt;
        ToneControl.VERSION, 1,&lt;br /&gt;
        ToneControl.TEMPO, 22,&lt;br /&gt;
        ToneControl.BLOCK_START, 0,&lt;br /&gt;
        60, 8,        62, 4, 64, 4, 65, 4, 67, 4, 69, 4, 71, 4,&lt;br /&gt;
        72, 4, 74, 4, 76, 4, 77, 4, 79, 4, 81, 4, 83, 4, 84, 4,&lt;br /&gt;
        83, 4, 81, 4, 80, 4, 81, 4, 86, 4, 84, 4, 83, 4, 81, 4,&lt;br /&gt;
        81, 4, 79, 4, 78, 4, 79, 4, 60, 4, 79, 4, 88, 4, 79, 4,&lt;br /&gt;
        57, 4, 77, 4, 88, 4, 77, 4, 59, 4, 77, 4, 86, 4, 77, 4,&lt;br /&gt;
        56, 4, 76, 4, 86, 4, 76, 4, 57, 4, 76, 4, 84, 4, 76, 4,&lt;br /&gt;
        53, 4, 74, 4, 84, 4, 74, 4, 55, 4, 74, 4, 83, 4, 74, 4,&lt;br /&gt;
        84, 16, ToneControl.SILENCE, 16,&lt;br /&gt;
        ToneControl.BLOCK_END, 0,&lt;br /&gt;
        ToneControl.BLOCK_START, 1,&lt;br /&gt;
        79, 4, 84, 4, 88, 4, 86, 4, 84, 4, 83, 4, 81, 4, 79, 4,&lt;br /&gt;
        77, 4, 76, 4, 74, 4, 72, 4, 71, 4, 69, 4, 67, 4, 65, 4,&lt;br /&gt;
        64, 8,        76, 8,        77, 8,        78, 8,&lt;br /&gt;
        79, 12,              76, 4, 74, 8, ToneControl.SILENCE, 8,&lt;br /&gt;
        ToneControl.BLOCK_END, 1,&lt;br /&gt;
        &lt;br /&gt;
        ToneControl.SET_VOLUME, 100, ToneControl.PLAY_BLOCK, 0,&lt;br /&gt;
        ToneControl.SET_VOLUME,  50, ToneControl.PLAY_BLOCK, 0,&lt;br /&gt;
        ToneControl.SET_VOLUME, 100, ToneControl.PLAY_BLOCK, 1,&lt;br /&gt;
        ToneControl.SET_VOLUME,  50, ToneControl.PLAY_BLOCK, 1,&lt;br /&gt;
        ToneControl.SET_VOLUME, 100, ToneControl.PLAY_BLOCK, 0,&lt;br /&gt;
      };&lt;br /&gt;
    }&lt;br /&gt;
    try {&lt;br /&gt;
      Player player = Manager.createPlayer(Manager.TONE_DEVICE_LOCATOR);&lt;br /&gt;
      player.realize();&lt;br /&gt;
      ToneControl tc = (ToneControl)player.getControl(&amp;quot;ToneControl&amp;quot;);&lt;br /&gt;
      tc.setSequence(sequence);&lt;br /&gt;
      player.start();&lt;br /&gt;
    }&lt;br /&gt;
    catch (Exception e) {&lt;br /&gt;
      Alert a = new Alert(&amp;quot;Exception&amp;quot;, e.toString(), null, null);&lt;br /&gt;
      a.setTimeout(Alert.FOREVER);&lt;br /&gt;
      mDisplay.setCurrent(a, mMainScreen);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&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;/div&gt;</summary>
			</entry>

	</feed>