- i2s_dmaStartRxStreaming(&i2s, tmp, sizeof(tmp), sizeof(tmp) / 4, codec_rec);
+ // Leave place for wav header
+ kfile_seek(&rec_file.fd, sizeof(WavHdr), KSM_SEEK_SET);
+
+ i2s_dmaStartRxStreaming(&i2s, tmp, sizeof(tmp), sizeof(tmp) / 2, codec_rec);
+
+ // write header
+ WavHdr wav;
+ wav_writeHdr(&wav, recorded_size, 1, CONFIG_CHANNEL_NUM, CONFIG_SAMPLE_FREQ, CONFIG_WORD_BIT_SIZE);
+ kfile_seek(&rec_file.fd, 0, KSM_SEEK_SET);
+ kfile_write(&rec_file.fd, &wav, sizeof(WavHdr));