File tree Expand file tree Collapse file tree
src/main/java/com/dimowner/audiorecorder/audio/recorder Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ ext.versions = [
2424
2525def versionMajor = 0
2626def versionMinor = 7
27- def versionPatch = 14
27+ def versionPatch = 15
2828
2929android {
3030 compileSdkVersion versions. targetSdkVersion
Original file line number Diff line number Diff line change @@ -253,9 +253,9 @@ private void writeAudioDataToFile() {
253253 }
254254
255255 private void setWaveFileHeader (File file , int channels ) {
256- long fileSize = file .length ();
256+ long fileSize = file .length () - 8 ;
257257 long totalSize = fileSize + 36 ;
258- long byteRate = sampleRate * channels * 2 ; //2 byte per 1 sample for 1 channel.
258+ long byteRate = sampleRate * channels * ( RECORDER_BPP / 8 ) ; //2 byte per 1 sample for 1 channel.
259259
260260 try {
261261 final RandomAccessFile wavFile = randomAccessFile (file );
@@ -301,7 +301,7 @@ private byte[] generateHeader(
301301 header [13 ] = 'm' ;
302302 header [14 ] = 't' ;
303303 header [15 ] = ' ' ;
304- header [16 ] = 16 ; // 4 bytes: size of 'fmt ' chunk
304+ header [16 ] = 16 ; //16 for PCM. 4 bytes: size of 'fmt ' chunk
305305 header [17 ] = 0 ;
306306 header [18 ] = 0 ;
307307 header [19 ] = 0 ;
@@ -317,7 +317,7 @@ private byte[] generateHeader(
317317 header [29 ] = (byte ) ((byteRate >> 8 ) & 0xff );
318318 header [30 ] = (byte ) ((byteRate >> 16 ) & 0xff );
319319 header [31 ] = (byte ) ((byteRate >> 24 ) & 0xff );
320- header [32 ] = (byte ) (2 * 16 / 8 ); // block align
320+ header [32 ] = (byte ) (channels * ( RECORDER_BPP / 8 ) ); // block align
321321 header [33 ] = 0 ;
322322 header [34 ] = RECORDER_BPP ; // bits per sample
323323 header [35 ] = 0 ;
You can’t perform that action at this time.
0 commit comments