public void run() { try { player = Manager.createPlayer("capture://audio?encoding=audio/basic"); player.realize(); rCtl = (RecordControl) player.getControl("RecordControl"); Control[] c = player.getControls(); for (int i = c.length - 1; i >= 0; i--) { if (c[i] instanceof AudioPathControl) { apc = (AudioPathControl) c[i]; oldPath = apc.getAudioPath(); apc.setAudioPath(AudioPathControl.AUDIO_PATH_HANDSFREE); path = apc.getAudioPath(); break; } } rCtl.setRecordStream(strm); rCtl.startRecord(); player.start(); } catch (Exception e) { final String msg = e.toString(); UiApplication.getUiApplication() .invokeAndWait( new Runnable() { public void run() { Dialog.inform(msg); } }); } }
public void stop() { try { apc.setAudioPath(oldPath); player.close(); rCtl.commit(); } catch (Exception e) { final String msg = e.toString(); UiApplication.getUiApplication() .invokeAndWait( new Runnable() { public void run() { Dialog.inform(msg); } }); } }