删除android中wav文件中的静音

Cyb*_*uck 5 audio android wav audiorecord

我正在编写一个记录 wav 文件的应用程序。wav 文件中的间隙(静音)将被阈值删除。因为这通常会导致最后一个音符和下一个音符之间出现贯穿。当演讲者长时间停顿时,如何在中间添加持续的沉默?

        bufferSize = AudioRecord.getMinBufferSize(frequency, 
        channelConfiguration, audioEncoding); 

        AudioRecord audioRecord = new AudioRecord( MediaRecorder.AudioSource.MIC, frequency, 
                channelConfiguration, audioEncoding, bufferSize); 

        short[] buffer = new short[bufferSize];

        audioRecord.startRecording();

        while (started) {
            int bufferReadResult = audioRecord.read(buffer, 0,bufferSize);
            if(AudioRecord.ERROR_INVALID_OPERATION != bufferReadResult){
                  //check signal
                //put a threshold
                  int foundPeak=searchThreshold(buffer,threshold);
                    if (foundPeak>-1){ //found signal
                                            //record signal

                        Toast.makeText(getApplicationContext(), Integer.toString(count), Toast.LENGTH_SHORT).show();
                        byte[] byteBuffer =ShortToByte(buffer,bufferReadResult);

                    try {
                            os.write(byteBuffer);
                    } catch (IOException e) {
                            e.printStackTrace();
                    }
                    }else{//count the time
                        //don't save signal
                    }
Run Code Online (Sandbox Code Playgroud)