Core Java| JSP| Servlets| XML| EJB| JEE5| Web Services| J2ME| Glossary| Questions?

 

 

 

 

 

 

 

 

 

 

 

 

 

Search Tutorials

Latest Questions
Comments
 
Media MIDlet Example 
 

Creating more then one player in a MIDlet, Here we have created an 'item' object for Hashtable and put all 'wav' file in this table with object 'key' and object 'value' which maps the keys to value.

 

Media MIDlet Example

                         

Creating more then one player in a MIDlet, Here we have created an 'item' object for Hashtable and put all 'wav' file in this table with object 'key' and object 'value' which maps the keys to value. In this example we created a list in which title of songs will be displayed on your mobile screen and you can choose any one at a time to play the song. After selecting the song to play, you can see a blank screen with two option button 'stop' and 'pause'.  when you clicks on 'pause' button, start' button will show and song will be paused but when you clicks on start button then the song will continue, You can click on the left side 'stop' button to exit and return on songs list page.

In this example javax.microedition.media package is used to create the player. There are the following class and interface are in this package.

Control:- It is a interface which used to control some media processing functions. 

Controllable:- Controllable provides an interface for obtaining the Controls from an object like a Player. 

Player:- Player controls the rendering of time based media data. 

PlayerListener:- PlayerListener is the interface for receiving asynchronous events generated by Players.

Manager:- Manager is the access point for obtaining system dependent resources such as Players for multimedia processing.

The Application is as follows:

 

 

 

Source Code of MediaMIDlet.java

 

import java.io.*;
import java.util.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.microedition.media.*;

public class MediaMIDlet extends MIDlet implements CommandListener, 
             PlayerListener{  

  private Display display;
  private List itemList;
  private Form form;
  private Command stopCommand, pauseCommand, startCommand;
  private Hashtable items, itemsInfo;
  private Player player;

  public MediaMIDlet() {
    display = Display.getDisplay(this);
    itemList = new List("Select an item to play", List.IMPLICIT);
    stopCommand = new Command("Stop", Command.STOP, 1);
    pauseCommand = new Command("Pause", Command.ITEM, 1);
    startCommand = new Command("Start", Command.ITEM, 1);
    form = new Form("Playing media");
    form.addCommand(stopCommand);
    form.addCommand(pauseCommand);
    form.setCommandListener(this);
    items = new Hashtable();
    itemsInfo = new Hashtable();

    items.put("Kyo Aage-Piche Dolte Ho...""file://aagepiche.wav");
    itemsInfo.put("Kyo Aage-Piche Dolte Ho...""audio/x-wav");

    items.put("kabhi alvida-na-kehna...""file://kabhi-alvida-na-kehna.wav");
    itemsInfo.put("kabhi alvida-na-kehna...""audio/x-wav");

    items.put("Lucky Boy...""file://Lucky-Boy.wav");
    itemsInfo.put("Lucky Boy...""audio/x-wav");
    
    items.put("Move Your Body...""file://Move-Your-Body.wav");
    itemsInfo.put("Move Your Body...""audio/x-wav");

    items.put("Jee Karda...""file://Jee-Karda.wav");
    itemsInfo.put("Jee Karda...""audio/x-wav");

    items.put("masoomchehra...""file://masoomchehra.wav");
    itemsInfo.put("masoomchehra...""audio/x-wav");

    items.put("tu-saala...""file://tu-saala.wav");
    itemsInfo.put("tu-saala...""audio/x-wav");
  }

  public void startApp() {
    for(Enumeration en = items.keys(); en.hasMoreElements();) {
      itemList.append((String)en.nextElement()null);
    }
    itemList.setCommandListener(this);
    display.setCurrent(itemList);
  }

  public void pauseApp() {
    try {
      if(player != nullplayer.stop();
    catch(Exception e) {}
  }

  public void destroyApp(boolean unconditional) {
    if(player != nullplayer.close();
  }

  public void commandAction(Command command, Displayable disp){
    if(disp instanceof List) {
      List list = ((List)disp);      
      String key = list.getString(list.getSelectedIndex());
      try {
        playMedia((String)items.get(key), key);
      catch (Exception e) {
        System.err.println("Unable to play: " + e);
        e.printStackTrace();
      }
    else if(disp instanceof Form){
      try {
        if(command == stopCommand){
          player.close();
          display.setCurrent(itemList);
          form.removeCommand(startCommand);
          form.addCommand(pauseCommand);
        else if(command == pauseCommand){
          player.stop();
          form.removeCommand(pauseCommand);
          form.addCommand(startCommand);
        else if(command == startCommand){
          player.start();
          form.removeCommand(startCommand);
          form.addCommand(pauseCommand);
        }
      catch(Exception e) {
        System.err.println(e);
      }
    }
  }

  private void playMedia(String locator, String keythrows Exception {
    String file = locator.substring(locator.indexOf("file://"6,
                  locator.length
());
    player = Manager.createPlayer(getClass().getResourceAsStream(file),
                  
(String)itemsInfo.get(key));
    player.addPlayerListener(this);
    player.setLoopCount(-1);
    player.prefetch();
    player.realize();
    player.start();
  }

  public void playerUpdate(Player player, String event, Object eventData) {
    if(event.equals(PlayerListener.STARTED&& new Long(0L).equals((Long)
       eventData
)){
      display.setCurrent(form);
    else if(event.equals(PlayerListener.CLOSED)) {
      form.deleteAll();
    }
  }
}

 

Download Source Code

                         

» View all related tutorials
Related Tags: c j2me diff types type if example to rectangle draw exam raw angle e il pe in different m nt

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

Audio Version
Reload Image
 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Training Courses
Tell A Friend
Your Friend Name
Software Solutions
Least Viewed
Most Rated
Recently Viewed
Search Tutorials

 

 
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Indian Software Development Company | iPhone Development Company in India | Flex Development Company in India | Java Training Delhi | Java Training at Noida |

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2008. All rights reserved.