我正在寻找创建一个WAV fileC,并在这里看到了一个例子.
这看起来不错,但我有兴趣添加两个缓冲区来制作音频立体声(每个耳朵可能有不同的声音).如果我将通道数设置为2,则音频仅从左通道播放(显然是正确的,因为左声道是第一个通道).我已经阅读过我必须将它与正确的频道交错.
不幸的是,我没有找到很多在线帮助创建立体声WAV.
write_little_endian((unsigned int)(data[i]),bytes_per_sample, wav_file);
Run Code Online (Sandbox Code Playgroud)
我试图创建第二个缓冲区,振幅的一半,看看我是否可以交错.
for (j=0; i<BUF_SIZE; i++) {
phase +=freq_radians_per_sample;
buffertwo[i] = (int)((amplitude/2) * sin(phase));;
}
write_wav("test.wav", BUF_SIZE, buffer, buffertwo, S_RATE);
Run Code Online (Sandbox Code Playgroud)
(更改函数以获取两个短整数缓冲区)
而且只是做
write_little_endian((unsigned int)(data[i]),bytes_per_sample, wav_file);
write_little_endian((unsigned int)(datatwo[i]),bytes_per_sample, wav_file);
Run Code Online (Sandbox Code Playgroud)
但这不起作用.理论上这应该是交错的.