Browse Source

update

master
zhaohe 2 years ago
parent
commit
5b700f4c78
  1. 7
      demo/ac_sound_capture1/ac_sound_capture1.cpp

7
demo/ac_sound_capture1/ac_sound_capture1.cpp

@ -91,6 +91,7 @@ class WAVHeader {
header.subchunk2_size = wavbinsize; header.subchunk2_size = wavbinsize;
} }
void dump() { void dump() {
printf("chunk_id: %s\n", string(header.chunk_id, 4).c_str()); printf("chunk_id: %s\n", string(header.chunk_id, 4).c_str());
printf("chunk_size: %d\n", header.chunk_size); printf("chunk_size: %d\n", header.chunk_size);
@ -153,7 +154,11 @@ void wavWriteVoice(string filename, uint32_t sample_rate, uint16_t bits_per_samp
void sound_capture_callback(int32_t* voicedata, uint32_t len) { void sound_capture_callback(int32_t* voicedata, uint32_t len) {
printf("sound_capture_callback:%d\n", len); printf("sound_capture_callback:%d\n", len);
for (size_t i = 0; i < len; i++) { for (size_t i = 0; i < len; i++) {
voicedata[i] = voicedata[i] << 8; //底层采集的数据是24位,左移8位转换成32位
voicedata[i] = voicedata[i] << 8; // 底层采集的数据是24位,左移8位转换成32位
}
for (size_t i = 0; i < len; i++) {
voicedata[i] = voicedata[i] - 421600000; // 减去声望AC输出的直流偏量
} }
wavWriteVoice("record.wav", 64000, 32, 1, (char*)voicedata, len * sizeof(int32_t)); wavWriteVoice("record.wav", 64000, 32, 1, (char*)voicedata, len * sizeof(int32_t));

Loading…
Cancel
Save