Browse Source

为wavheader添加注释

disinfection_machine
zhaohe 2 years ago
parent
commit
c8cd4807bf
  1. 27
      core/components/audio/wavheader.hpp

27
core/components/audio/wavheader.hpp

@ -30,8 +30,31 @@
namespace iflytop { namespace iflytop {
namespace core { namespace core {
/**
* @brief WAV
*
* WAV WAV 44
*/
class WAVHeader { class WAVHeader {
public: public:
/**
* @brief WAV
*
* WAV
* - "RIFF" 4 chunk_id
* - - 8 4 chunk_size
* - "WAVE" 4 format
* - "fmt " 4 subchunk1_id
* - 16 4 subchunk1_size
* - 1 PCM 2 audio_format
* - 1 2 2 num_channels
* - 44100 4 sample_rate
* - * * / 8 4 byte_rate
* - 2 16 2 2 block_align
* - 8162432 2 bits_per_sample
* - "data" 4 subchunk2_id
* - - 44 4 subchunk2_size
*/
struct WAVHeaderBinary { struct WAVHeaderBinary {
char chunk_id[4]; // 固定为 "RIFF" char chunk_id[4]; // 固定为 "RIFF"
uint32_t chunk_size; // 文件总大小 - 8 uint32_t chunk_size; // 文件总大小 - 8
@ -79,8 +102,8 @@ class WAVHeader {
void dump(shared_ptr<logger> logger) { void dump(shared_ptr<logger> logger) {
logger->info("chunk_id: {}", string(header.chunk_id, 4)); logger->info("chunk_id: {}", string(header.chunk_id, 4));
logger->info("chunk_size: {}", header.chunk_size); logger->info("chunk_size: {}", header.chunk_size);
logger->info("format: {}", string(header.format,4));
logger->info("subchunk1_id: {}", string(header.subchunk1_id,4));
logger->info("format: {}", string(header.format, 4));
logger->info("subchunk1_id: {}", string(header.subchunk1_id, 4));
logger->info("subchunk1_size: {}", header.subchunk1_size); logger->info("subchunk1_size: {}", header.subchunk1_size);
logger->info("audio_format: {}", header.audio_format); logger->info("audio_format: {}", header.audio_format);
logger->info("num_channels: {}", header.num_channels); logger->info("num_channels: {}", header.num_channels);

Loading…
Cancel
Save