Java tutorial
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(); } } }