×

Discussion Board

Results 1 to 4 of 4
  1. #1
    Registered User
    Join Date
    Apr 2008
    Posts
    2

    [Moved] Problem In Video For S60 Series

    Hello
    I want to write a application through which i can play the video,problem is in player.getControle("VideoControle") it is giving me the value null ,so plz tell me how to resolve this problem ,my code is below plz have a look

    Thanks


    Code:
    import java.util.Hashtable;
    import java.util.Enumeration;
    import java.io.*;
    import javax.microedition.lcdui.Item;
    import javax.microedition.lcdui.List;
    import javax.microedition.lcdui.Form;
    import javax.microedition.midlet.MIDlet;
    import javax.microedition.lcdui.Command;
    import javax.microedition.lcdui.CommandListener;
    import javax.microedition.media.Player;
    import javax.microedition.media.Manager;
    import javax.microedition.media.PlayerListener;
    import javax.microedition.media.control.VideoControl;
    import javax.microedition.lcdui.*;
    import javax.microedition.media.*;
    import javax.microedition.media.control.*;
    import javax.microedition.midlet.*;
    
    public class MediaMIDlet extends MIDlet
      implements CommandListener, PlayerListener {
    
      public Display display=null;
      private List itemList=null;
      private Form form=null;
    
      private Command stopCommand;
      private Command pauseCommand;
      private Command startCommand;
    
      private Hashtable items;
      private Hashtable itemsInfo;
    
       Player player;
      private VideoControl vc;
      
      
      Item video;
    
      public MediaMIDlet() {
        display = Display.getDisplay(this);
           
          // creates an item list to let you select multimedia files to play
        itemList = new List("Select an item to play", List.IMPLICIT);
    
        // stop, pause and restart commands
        stopCommand = new Command("Stop", Command.STOP, 1);
        pauseCommand = new Command("Pause", Command.ITEM, 1);
        startCommand = new Command("Start", Command.ITEM, 1);
    
        // a form to display when items are being played
        form = new Form("Playing media");
    
        // the form acts as the interface to stop and pause the media
        form.addCommand(stopCommand);
        form.addCommand(pauseCommand);
        form.setCommandListener(this);
        
        display.setCurrent(form);
        // create a hashtable of items
        items = new Hashtable();
    
        // and a hashtable to hold information about them
        itemsInfo = new Hashtable();
    
           
      items.put("Video from jar", "file://bark.3gp");
      itemsInfo.put("Video from jar", "Video/3gpp");
      
      
      }
    
      public void startApp() {
    
        // when MIDlet is started, use the item list to display elements
        for(Enumeration en = items.keys(); en.hasMoreElements();) {
        itemList.append((String)en.nextElement(), null);
      }
    
        itemList.setCommandListener(this);
    
        // show the list when MIDlet is started
        display.setCurrent(itemList);
      }
    
      public void pauseApp() {
        // pause the player
        try {
          if(player != null) player.stop();
        } catch(Exception e) {}
      }
    
      public void destroyApp(boolean unconditional) {
        if(player != null) player.close(); // close the player
      }
    
      public void commandAction(Command command, Displayable disp) {
    
        // generic command handler
    
        // if list is displayed, the user wants to play the item
        if(disp instanceof List) {
          List list = ((List)disp);
    
          String key = list.getString(list.getSelectedIndex());
    
          // try and play the selected file
          try {
            playMedia((String)items.get(key), key);
          } catch (Exception e) {
            System.err.println("Unable to play: " + e);
            e.printStackTrace();
          }
        } else if(disp instanceof Form) {
    
          // if showing form, means the media is being played
          // and the user is trying to stop or pause the player
          try {
    
            if(command == stopCommand) { // if stopping the media play
    
              player.close(); // close the player
              display.setCurrent(itemList); // redisplay the list of media
              form.removeCommand(startCommand); // remove the start command
              form.addCommand(pauseCommand); // add the pause command
    
            } else if(command == pauseCommand) { // if pausing
    
              player.stop(); // pauses the media, note that it is called stop
              form.removeCommand(pauseCommand); // remove the pause command
              form.addCommand(startCommand); // add the start (restart) command
            } else if(command == startCommand) { // if restarting
    
              player.start(); // starts from where the last pause was called
              form.removeCommand(startCommand);
              form.addCommand(pauseCommand);
            }
          } catch(Exception e) {
            System.err.println(e);
          }
        }
    
      }
    
      /* Creates Player and plays media for the first time */
      private void playMedia(String locator, String key) throws Exception {
    
        // locate the actual file, we are only dealing
        // with file based media here
        
        // create the player
        // loading it as a resource and using information about it
        
                     
        
        InputStream is = getClass().getResourceAsStream("/bark.3gp");   
        player = Manager.createPlayer(is,"Video/3gpp");
         
        // a listener to handle player events like starting, closing etc
        player.addPlayerListener(this);
        player.realize(); // realize
        
        player.setLoopCount(-1); // play indefinitely
        display.setCurrent(form);
        player.prefetch(); // prefetch
        player.start();
        
           
      }
    
      /* Handle player events */
    public void playerUpdate(Player player, String event, Object eventData) {
    
        // if the event is that the player has started, show the form
    	// but only if the event data indicates that the event relates to newly
    	// stated player, as the STARTED event is fired even if a player is
    	// restarted. Note that eventData indicates the time at which the start
    	// event is fired.
    	if(event.equals(PlayerListener.STARTED) ) {
    
            // see if we can show a video control, depending on whether the media
    		// is a video or not
    		VideoControl vc = null;
    		if((vc = (VideoControl)player.getControl("VideoControl")) != null) {
    		  Item videoDisp =
    			(Item)vc.initDisplayMode(vc.USE_GUI_PRIMITIVE, null);
    		  form.append(videoDisp);
                   
    		}
    
    	        
                //display.setCurrent(form);
    	} else if(event.equals(PlayerListener.CLOSED)) {
    
    	  form.deleteAll(); // clears the form of any previous controls
    	}
      }
    }
    Last edited by ltomuta; 2008-04-17 at 06:55. Reason: Please use [code][/code] tags

  2. #2
    Nokia Developer Moderator
    Join Date
    Sep 2004
    Location
    Tampere, Finland
    Posts
    11,355

    Re: Problem In Video For S60 Series

    Feedback to Series 40 does not equal in any way to support for Series 40. Please post to the appropriate forum if you really expect somebody to answer to you in a timely fashion.
    -- Lucian

    If you are not yet a DVLUP member it is time to correct that mistake :) Click here to join: http://www.dvlup.com/lucian/Invite

  3. #3
    Nokia Developer Champion
    Join Date
    Apr 2003
    Location
    USA, CA
    Posts
    7,192

    Re: [Moved] Problem In Video For S60 Series

    Which device are you talking about?

    Hartti

  4. #4
    Registered User
    Join Date
    Apr 2008
    Posts
    2

    Re: [Moved] Problem In Video For S60 Series

    hi hartti

    I am using S60 developer tools and trying to run it on its emulator, and i also tried this on Nokia N73 ,but it is not working there also .But when i used the same code on sprint emulator ,i found that it is working fine ,plz tell me what is the problem.
    sorry for late Response and Thanks for your interest .
    Regards
    amit

Similar Threads

  1. S60 3rd Edition SDK for MIDP problem playing video
    By suffix in forum Mobile Java Tools & SDKs
    Replies: 7
    Last Post: 2007-04-27, 04:35
  2. Http Connection problem with Series 40 devices
    By madhavis in forum Mobile Java General
    Replies: 0
    Last Post: 2005-01-21, 06:01
  3. Replies: 1
    Last Post: 2004-12-31, 13:08
  4. Problem with Series 90 & internet
    By ManishPatil in forum Symbian
    Replies: 1
    Last Post: 2004-04-08, 11:55
  5. Series 60 Symbian 1.2.1 and socket open problem
    By lobz in forum Mobile Java Tools & SDKs
    Replies: 0
    Last Post: 2003-08-24, 15:17

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •