当前位置: 代码迷 >> Android >> android录音buffer数据实时储存到txt
  详细解决方案

android录音buffer数据实时储存到txt

热度:77   发布时间:2016-04-28 02:08:55.0
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) {
                        }
                }
        }
        

    
------解决思路----------------------
不是用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 中怎么获取固定音频的音量啊?
  相关解决方案