小编use*_*827的帖子

使用C创建立体声WAV文件

我正在寻找创建一个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)

但这不起作用.理论上这应该是交错的.

c audio file wav

2
推荐指数
1
解决办法
5338
查看次数

标签 统计

audio ×1

c ×1

file ×1

wav ×1