这个适合所有ALSA男士。我需要在这里进行健全检查。我使用alsa-lib api播放声音,我用来将数据写入驱动程序的函数是
snd_pcm_sframes_t snd_pcm_writei (snd_pcm_t* pcm,
const void* buffer,
snd_pcm_uframes_t size);
对于第三个参数,它应该是帧计数还是缓冲区的大小(以字节为单位)?我问,因为我已经看到了许多以字节为单位传入的示例。documentation中包含一个示例。
答案 0 :(得分:4)
根据文档,它是帧的数量,而不是字节。
在示例中,您链接到的值恰好相同,因为它使用8位采样和一个通道,而一个通道8位数据的一帧是一个字节。