求助,我使用audiorecord录制声音,放到buffe中,怎么把缓存里面的数据全部保存到txt文档或excel文件中啊。有源码最好了。另数字低通滤波器JAVA的实现,要对数据进行处理如何操作。
public RecordThread(AudioRecord audioRecord, int recBufSize) {
this.audioRecord = audioRecord;
this.recBufSize = recBufSize;
}
public void run() {
try {
short[] buffer = new short[recBufSize];
audioRecord.startRecording();// 开始录制
while (isRecording) {
// 从MIC保存数据到缓冲区
int bufferReadResult = audioRecord.read(buffer, 0,
recBufSize);
short[] tmpBuf = new short[bufferReadResult / (rateX)];
for (int i = 0, ii = 0; i < tmpBuf.length; i++, ii = i
* rateX) {
tmpBuf[i] = buffer[ii];
}
synchronized (inBuf) {//
inBuf.add(tmpBuf);// 添加数据
}
}
audioRecord.stop();
} catch (Throwable t) {
}
}
}
------解决思路----------------------
不是用OutputFileStream寫到文件中嗎?
------解决思路----------------------
和下载一样啊 读到一定的缓存 就写到文件里面去
byte[] buf = new byte[1024 * 10];
int read = 0;
while ((read = inputStream.read(buf)) != -1) {
file.write(buf, 0, read);}
------解决思路----------------------
你有缓存变量,直接贴代码。
BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream("XXX.txt"));
byte[] b= new byte[1024];
out.write(b, 0, b.length);
当然,我这是简单的写法,你还要判断一下,因为我这里是小于等于1024个字节,如果多余,你就要使用while循环
------解决思路----------------------
先存储到一个临时文件 然后 stream 到一个 txt文件

------解决思路----------------------
short[] buffer 中怎么获取固定音频的音量啊?