c - 使用 psf_sndReadFloatFrames(portsf 库)读取波形文件

标签 c audio

我学习有声阅读,我发现我不明白部分内容

framesread = psf_sndReadFloatFrames(ifd,frame,1);
        for(i=0; i < props.chans; i++ )         
            frame[i] *= ampfac;

buf 是一字节 float 。这个值是什么意思?

角度?弧度?这是否总是只使用一个字节(一个 channel )

最佳答案

在该声明中,buf 是指向 float 组(的第一个元素)的指针。据我所知,没有“单字节 float ”。

可能的用法如下:

#define NUM_CHANNELS (2)
#define BUF_LEN (4096)

float buffer[BUF_LEN * NUM_CHANNELS];

...

int frames_read = BUF_LEN; 
while (frames_read == BUF_LEN)
{
    frames_read = psf_sndReadFloatFrames(myfiledesc, buffer, BUF_LEN);
    /* process data in buffer */
}

关于c - 使用 psf_sndReadFloatFrames(portsf 库)读取波形文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44097575/

相关文章:

将十六进制char数组转换为C中的u8数组

c - Y86 求和程序困惑

c - 隐写术程序中的按位运算 (C)

android - 从目录连续播放音频文件

android - 升级到 Gingerbread 2.3.4 后 MediaPlayer 不工作

c - 基本 scanf 语句错误

c - 在一定次数的循环后,数组未分配 char

c++ - 如何在VST 2.4中创建子窗口?

c# - C#查找视频和音频文件的长度

javascript - 播放音频时创建弹跳圈