JAva j 2 meキャプチャされたオーディオを保存
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();
}
}
}