所以即時通訊嘗試讀取wav文件的標題,出於某種原因,我只能閱讀它的一部分。使用閱讀波頭C++
林這樣的結構來存儲數據:
struct WaveHeaderType
{
char chunkId[4];
unsigned long chunkSize;
char format[4];
char subChunkId[4];
unsigned long subChunkSize;
unsigned short audioFormat;
unsigned short numChannels;
unsigned long sampleRate;
unsigned long bytesPerSecond;
unsigned short blockAlign;
unsigned short bitsPerSample;
char dataChunkId[4];
unsigned long dataSize;
};
和該代碼來讀取文件:
WaveHeaderType waveFileHeader;
fread(&waveFileHeader, sizeof(waveFileHeader), 1, filePtr);
並在此之後僅塊ID,CHUNKSIZE,格式和subChunkId具有值,其餘的只是空。我究竟做錯了什麼?或者我只是碰巧有一個損壞的wav文件? (我可以在kmplayer中播放wav文件沒有問題)
你做到以二進制方式打開文件,不是嗎? – rodrigo