보통 wav 파일의 subchunk1 크기는 16입니다. 그러나 subchunk1size = 18 인 wav 파일이 있습니다. subchunk1size = 16 인 wav 파일을 읽는 데 C++ 코드가 있습니다. subchunk1size = 18 인 wav 파일을 읽고 싶습니다. 어떤 도움을 주시면 감사하겠습니다.C++는 wav 파일을 읽습니다. subchunk1size = 18
typedef struct header_file
{
char chunk_id[4];
int chunk_size;
char format[4];
char subchunk1_id[4];
int subchunk1_size;
short int audio_format;
short int num_channels;
int sample_rate;
int byte_rate;
short int block_align;
short int bits_per_sample;
char subchunk2_id[4];
int subchunk2_size;
} header;
위는 subchunk1size와 wav 파일을 읽을 수있는 내 코드는 기대로 = 16
코드를 입력하는 것을 잊지 마십시오. –
μ-law와 같은 비 PCM 데이터의 "fmt"청크입니다. 하위 덩어리가 첫 번째 덩어리라고 가정하지 마십시오. 기본 참조 [여기에 있습니다] (http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html). –
WAV 파일을 손으로 파싱 할 때의 고통을 피하고 "무료"로 많은 다른 오디오 포맷에 대한 지원을 받으려면 libsndfile을 확인하십시오. 거의 모든 오디오 파일을 sf_open() 할 수 있고 오디오 샘플을 읽을 수 있습니다. (http://www.mega-nerd.com/libsndfile/) –