需要使用J2ME的javax.microedition.media里的类。
首先要定义一个Player对象和一个RemoteControl对象
Player p;
RecordControl rc;
开始录音:
try {
p = Manager.createPlayer("capture://audio");//初始化player,说明是捕捉音频。Manager是javax.microedition.media.Manager类。
p.realize();
rc = (RecordControl)p.getControl("RecordControl");
output = new ByteArrayOutputStream();//将录音的内容输出到流
rc.setRecordStream(output);
rc.startRecord();
p.start();
} catch (IOException e) {
e.printStackTrace();
} catch (MediaException e) {
e.printStackTrace();
}
结束录音:
p.stop();
rc.stopRecord();
rc.commit();
p.close();
也可以将录音的内容直接输出到文件,使用RemoteControl的setRecordLocation()方法。
一些网上的文章说在createPlayer()的参数里,可以填一些例如声音类型、码率之类的参数,但是实际在机器上操作的时候似乎不可以,会报错。不知道是否与机器有关。
关于该API的简单功能可参考文章:http://www.qqread.com/j2ee/u220823.html