我找到了这个站点:WAVE PCM soundfile format并编写了一个结构(代码如下)。但我不知道使用 .wav 文件需要执行哪些步骤。
我找不到任何描述使用 .wav (RIFF) 文件的步骤的书籍或指南。并描述如何读写(如何读取 RIFF 标头)。
我已经编写了以下代码,但现在我处于死胡同:
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
char Subchunk1ID[4];
int Subchunk1Size;
short int AudioFormat;
short int NumChannels;
int SampleRate;
int ByteRate;
short int BlockAlign;
short int BitsPerSample;
} fmt;
typedef struct
{
char Subchunk2ID[4];
int Subchunk2Size;
int Data[441000]; // 10 secs of garbage. he-he)
} data;
typedef struct
{
char ChunkId[4];
int ChunkSize;
char Format[4];
fmt SubChunk_fmt;
data SubChunk_data;
} header;
int main()
{
FILE *input;
fopen("input.wav", "r");
/* How to read the RIFF header, how to manipulate it
and how to access and manipulate 'data' sub chunk? */
return 0;
}
PS 我不要求你代替我做一些工作,只是给我一些文献或链接,我将能够提高我在这个主题上的知识。