我做一个实时抓取Mic录音数据的小APP, HTML5 Plus提供的Audio 方法只能录音到文件,所以想通过Native JS 直接调用MediaRecorder。
我的代码如下:
mui.plusReady(function() {
var SAMPLE_RATE_IN_HZ = 22050;
var AudioRecord = plus.android.importClass('android.media.AudioRecord');
var AudioFormat = plus.android.importClass('android.media.AudioFormat');
var bs = AudioRecord.getMinBufferSize(SAMPLE_RATE_IN_HZ, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT);
var ar = new AudioRecord(1, SAMPLE_RATE_IN_HZ, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT, bs);
ar.startRecording();
var buffer = new Uint16Array(bs);
while (true) {
var r = ar.read(buffer, 0, bs);
console.log(r);
//其它代码
}
});
现在的问题时 ar.read(buffer,0,bs)这句总是返回null, 也没有什么错误消息啥的, 求大神指点!!