1.ALSA sink每次获取数据量大小的来源
2. snd_pcm_avail_update返回的数据量和设置的alsa sink fragment size并不一致是什么原因
1.ALSA sink每次获取数据量大小的来源
2. snd_pcm_avail_update返回的数据量和设置的alsa sink fragment size并不一致是什么原因
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在使用alsa sink时,snd_pcm_avail_update函数用于更新pcm设备可用缓冲区的大小。这个值是根据当前系统中可用的音频资源(例如麦克风、扬声器等)来计算的。
snd_pcm_get_avail_size() 函数则用于获取当前正在使用的alsa sink的可用缓冲区大小。这个值通常会比snd_pcm_avail_update() 返回的值大一些,因为snd_pcm_get_avail_size() 函数还考虑了已经分配给其他alsa sink的缓冲区大小。
关于为什么两次获取到的大小不一致的问题,这可能是由于以下几种情况之一:
为了更精确地了解问题的原因,请提供更多的上下文信息,比如您的alsa sink的具体配置和代码实现。