SaveCapturedAudioMIDlet.java Source code

Java tutorial

Introduction

Here is the source code for SaveCapturedAudioMIDlet.java

Source

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.media.Manager;
import javax.microedition.media.Player;
import javax.microedition.media.control.RecordControl;
import javax.microedition.midlet.MIDlet;

public class SaveCapturedAudioMIDlet extends MIDlet implements CommandListener {
    private Display display = null;

    private Alert alert = new Alert("Message");

    private Command exitCommand = new Command("Exit", Command.EXIT, 1);

    private Player capturePlayer = null;

    private Player playbackPlayer = null;

    private RecordControl rControl = (RecordControl) capturePlayer
            .getControl("javax.microedition.media.control.RecordControl");

    public SaveCapturedAudioMIDlet() {
        display = Display.getDisplay(this);

        alert.setTimeout(Alert.FOREVER);
        alert.setString("Capturing for 10 seconds.");

        alert.addCommand(exitCommand);
        alert.setCommandListener(this);

        try {
            capturePlayer = Manager.createPlayer("capture://audio");
            if (capturePlayer != null) {
                capturePlayer.realize();
                display.setCurrent(alert);
                if (rControl == null)
                    throw new Exception("No RecordControl available");
                rControl.setRecordLocation("file:///test.wav");
            } else {
                throw new Exception("Capture Audio Player is not available");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void startApp() {
        try {
            capturePlayer.start();
            rControl.startRecord();
            Thread.sleep(10000);
            rControl.stopRecord();
            rControl.commit();
            capturePlayer.stop();
            capturePlayer.close();
            playbackPlayer = Manager.createPlayer("file:///test.wav");
            playbackPlayer.start();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    public void commandAction(Command cmd, Displayable disp) {
        if (cmd == exitCommand) {
            destroyApp(true);
            notifyDestroyed();
        }
    }
}