JAva j 2 meキャプチャされたオーディオを保存

13535 ワード

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