2

这个适合所有 ALSA 人。我需要在这里进行健全性检查。我正在使用 alsa-lib api 来播放声音,而我用来将数据写入驱动程序的函数是

snd_pcm_sframes_t snd_pcm_writei (snd_pcm_t* pcm,
                                  const void* buffer,
                                  snd_pcm_uframes_t size);

对于第三个参数,应该是帧数还是缓冲区大小(以字节为单位)?我之所以问,是因为我已经看到了很多以字节为单位的大小的示例。文档中包含一个示例。

4

1 回答 1

4

根据文档,它是帧数,而不是字节数。

在示例中,您链接到的值恰好是相同的,因为它使用 8 位样本和一个通道,而一个通道的一帧 8 位数据是一个字节。

于 2010-09-24T20:54:46.130 回答