importjavax.microedition.lcdui.Alert;importjavax.microedition.lcdui.Command;importjavax.microedition.lcdui.CommandListener;importjavax.microedition.lcdui.Display;importjavax.microedition.lcdui.Displayable;importjavax.microedition.media.Manager;importjavax.microedition.media.Player;importjavax.microedition.media.control.RecordControl;importjavax.microedition.midlet.MIDlet;publicclassSaveCapturedAudioMIDletextendsMIDletimplementsCommandListener{privateDisplaydisplay=null;privateAlertalert=newAlert("Message");privateCommandexitCommand=newCommand("Exit",Command.EXIT,1);privatePlayercapturePlayer=null;privatePlayerplaybackPlayer=null;privateRecordControlrControl=(RecordControl)capturePlayer.getControl("javax.microedition.media.control.RecordControl");publicSaveCapturedAudioMIDlet(){display=Display.getDisplay(this);alert.setTimeout(Alert.FOREVER);alert.setString("Capturingfor10seconds.");alert.addCommand(exitCommand);alert.setCommandListener(this);try{capturePlayer=Manager.createPlayer("capture://audio");if(capturePlayer!=null){capturePlayer.realize();display.setCurrent(alert);if(rControl==null)thrownewException("NoRecordControlavailable");rControl.setRecordLocation("file:///test.wav");}else{thrownewException("CaptureAudioPlayerisnotavailable");}}catch(Exceptione){e.printStackTrace();}}publicvoidstartApp(){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(Exceptione){e.printStackTrace();}}publicvoidpauseApp(){}publicvoiddestroyApp(booleanunconditional){}publicvoidcommandAction(Commandcmd,Displayabledisp){if(cmd==exitCommand){destroyApp(true);notifyDestroyed();}}}