android录音buffer数据实时存储到txt
求助,我使用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) {
}
}
}
录音 buffer 存储 滤波 android --------------------编程问答-------------------- 不是用OutputFileStream寫到文件中嗎? --------------------编程问答-------------------- 和下载一样啊 读到一定的缓存 就写到文件里面去
byte[] buf = new byte[1024 * 10];
int read = 0;
while ((read = inputStream.read(buf)) != -1) {
file.write(buf, 0, read);} --------------------编程问答--------------------
存储到txt里面呢
FileOutputStream outStream = new FileOutputStream("/sdcard/"+name+".txt",true);
有这方面的例子或者讲解吗? --------------------编程问答-------------------- 你有缓存变量,直接贴代码。
BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream("XXX.txt"));
byte[] b= new byte[1024];
out.write(b, 0, b.length);
当然,我这是简单的写法,你还要判断一下,因为我这里是小于等于1024个字节,如果多余,你就要使用while循环
--------------------编程问答--------------------
public void saveToSDCard(String name, String content) throws Exception{
//获取外存储设备路径Environment.getExternalStorageDirectory()
File file = new File(Environment.getExternalStorageDirectory(),name+".txt");
FileOutputStream outStream = new FileOutputStream(file);
outStream.write(content.getBytes());
outStream.close();
}
看了这样一段代码,没有理解整个存储的流程 --------------------编程问答-------------------- count = System.in.read(buffer);
read(byte)不能读short[] buffer --------------------编程问答-------------------- 先存储到一个临时文件 然后 stream 到一个 txt文件
补充:移动开发 , Android