android AudioTrack不能播放awr(4)
//byte[] buffer = new byte[bufferSize];
//开始录制
record.startRecording();
int r = 0; //存储录制进度
//定义循环,根据isRecording的值来判断是否继续录制
while(isRecording){
//从bufferSize中读取字节,返回读取的short个数
//这里老是出现buffer overflow,不知道是什么原因,试了好几个值,都没用,TODO:待解决
int bufferReadResult = record.read(buffer, 0, buffer.length);
//循环将buffer中的音频数据写入到OutputStream中
for(int i=0; i<bufferReadResult; i++){
dos.writeShort(buffer[i]);
}
// byte[] tmpBuf = new byte[bufferReadResult];
// System.arraycopy(buffer, 0, tmpBuf, 0, bufferReadResult);
// fos.write(tmpBuf, 0, bufferReadResult);
// fos.flush();
publishProgress(new Integer(r)); //向UI线程报告当前进度
相关新闻>>
- 发表评论
-
- 最新评论 更多>>