×

Discussion Board

Results 1 to 5 of 5
  1. #1
    Registered User
    Join Date
    Jan 2007
    Posts
    3

    how to record video and audio using j2me and how to store the both???

    Write a code to implement that
    Thankxx
    muruga

  2. #2
    Super Contributor
    Join Date
    Apr 2003
    Location
    USA, CA
    Posts
    7,191

    Re: how to record video and audio using j2me and how to store the both???

    Here is a list of WIki articles which likely will help you forward
    http://wiki.forum.nokia.com/index.ph...media_Articles

    Hartti

  3. #3
    Regular Contributor
    Join Date
    Jul 2008
    Location
    Faridabad(Delhi NCR)
    Posts
    343

    Re: how to record video and audio using j2me and how to store the both???

    Try this mAy be it wil help


    player = Manager.createPlayer("capture://audio?encoding=pcm");
    player.realize();


    RecordControl rc = (RecordControl) player
    .getControl("RecordControl");
    String file = "file:///root1/resim.wav";
    FileConnection fc = (FileConnection) Connector.open(file, Connector.READ_WRITE);
    if(!fc.exists())
    {
    fc.create();
    }

    OutputStream out = fc.openOutputStream();
    rc.setRecordStream(out);
    rc.setRecordSizeLimit(Integer.MAX_VALUE);
    rc.startRecord();

    player.start();
    Anshu Chauhan
    J2me Developer

  4. #4
    Super Contributor
    Join Date
    Mar 2008
    Location
    The Capital of INDIA
    Posts
    4,328

    Thumbs up Re: how to record video and audio using j2me and how to store the both???

    The complete code -

    package example;

    import java.io.OutputStream;

    import javax.microedition.io.Connector;
    import javax.microedition.io.file.FileConnection;
    import javax.microedition.lcdui.Alert;
    import javax.microedition.lcdui.AlertType;
    import javax.microedition.lcdui.Canvas;
    import javax.microedition.lcdui.Command;
    import javax.microedition.lcdui.CommandListener;
    import javax.microedition.lcdui.Display;
    import javax.microedition.lcdui.Displayable;
    import javax.microedition.lcdui.Graphics;
    import javax.microedition.media.Manager;
    import javax.microedition.media.Player;
    import javax.microedition.media.PlayerListener;
    import javax.microedition.media.control.RecordControl;
    import javax.microedition.media.control.VideoControl;

    public class VideoCanvas extends Canvas implements PlayerListener, CommandListener {

    private VideoRecordMIDlet midlet = null;
    private Command start = new Command("Start",Command.OK,0);
    private Command stop = new Command("Stop",Command.OK,1);
    private Command exit = new Command("Exit",Command.BACK,0);
    private Command play = new Command("Play",Command.OK,2);
    private String status = "Not initialized";
    private Player player = null;
    private VideoControl control = null;
    private RecordControl record = null;
    private boolean recording = false;
    private FileConnection conn = null;
    private OutputStream stream = null;
    private String PATH = System.getProperty("fileconn.dir.videos") + "vi.3gp";

    /**
    * Constructor
    *
    * @param midlet
    */

    public VideoCanvas(VideoRecordMIDlet midlet) {
    System.out.println(PATH);
    this.midlet = midlet;
    addCommand(play);
    addCommand(start);
    addCommand(stop);
    addCommand(exit);
    setCommandListener(this);
    }

    public void commandAction(Command c, Displayable arg1) {
    if(c == start) {
    recording = true;
    startRecording();
    }
    else if(c == stop) {
    stop();
    recording = false;
    }
    else if(c == play) {
    recording = false;
    repaint();
    startPlaying();
    }
    else if(c == exit) {
    midlet.notifyDestroyed();
    }
    }

    /**
    * Paint
    */

    protected void paint(Graphics g) {
    g.setColor(0,0,0);
    g.fillRect(0,0,getWidth(),getHeight());
    }

    public void startRecording() {
    try {
    player = Manager.createPlayer("capture://video");
    player.addPlayerListener(this);
    player.realize();

    //setup recording
    record = (RecordControl)player.getControl("RecordControl");
    record.setRecordSizeLimit(300000);
    conn = (FileConnection)Connector.open(PATH,Connector.READ_WRITE);
    if(!conn.exists()) conn.create();
    stream = conn.openOutputStream();
    record.setRecordStream(stream);

    // Grab the video control and set it to the current display.
    control = (VideoControl)player.getControl("VideoControl");
    if (control != null) {
    control.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,this);
    control.setDisplaySize(getWidth(),getHeight());
    control.setVisible(true);
    }

    player.start();
    record.startRecord();
    }
    catch(Exception e) {
    Alert erro = new Alert("Erro",e.toString(),null,AlertType.ERROR);
    Display.getDisplay(midlet).setCurrent(erro);
    e.printStackTrace();
    }
    }

    /**
    * Start
    *
    */

    public void startPlaying() {
    try {
    player = Manager.createPlayer(PATH);
    player.addPlayerListener(this);
    player.realize();

    // Grab the video control and set it to the current display.
    control = (VideoControl)player.getControl("VideoControl");
    if (control != null) {
    control.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,this);
    control.setDisplaySize(176,144);
    control.setDisplayLocation((getWidth() - control.getDisplayWidth()) / 2,(getHeight() - control.getDisplayHeight()) / 2);
    control.setVisible(true);
    }

    player.start();
    }
    catch(Exception e) {
    Alert erro = new Alert("Erro",e.getMessage(),null,AlertType.ERROR);
    Display.getDisplay(midlet).setCurrent(erro);
    e.printStackTrace();
    }
    }

    public void stop() {
    if(player != null) {
    try {
    if(recording) {
    record.stopRecord();
    record.commit();
    stream.close();
    }
    player.stop();
    player.deallocate();
    player.close();
    player = null;
    if(recording) {
    Alert alert = new Alert("Mensagem","Gravado em " + PATH,null,AlertType.INFO);
    Display.getDisplay(midlet).setCurrent(alert,this);
    stream = null;
    }

    if(conn != null)
    conn.close();
    }
    catch(Exception e) {

    }
    }
    }

    public void playerUpdate(Player p, String s, Object o) {

    if(p.getState() == Player.STARTED) {
    status = control.getDisplayHeight() + "=" + control.getDisplayWidth();
    setTitle(status);
    }

    }

    }

    Thanks,
    Thanks with Regards,

    R a j - The K e r n e l


    Join Delhi-NCR Nokia Developer's Community,

  5. #5
    Regular Contributor
    Join Date
    Nov 2007
    Posts
    254

    Re: how to record video and audio using j2me and how to store the both???

    hi Raj i have a question like can we make the recording of longer length ..
    because this application will record only upto 304 kb which means only 10 sec of video

    regards
    Arun Gupta

Posting Permissions

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