Alsa:snd_pci_readi()记录

时间:2018-07-13 07:10:04

标签: real-time alsa libalsa

我有一个专用线程,可以通过snd_pcm_readi()捕获来自Alsa的音频。录音进行约30分钟(每个文件持续一分钟),然后该文件逐渐减小并导致“ 从音频接口读取失败err = -32

if ((err = snd_pcm_readi(capture_handle, buffer, buffer_frames)) != buffer_frames)

{

        fprintf (stderr, "read from audio interface failed (%s)\n",err, snd_strerror (err));
            audio_outbuf_size = (err * snd_pcm_format_width(AUDIO_FORMAT)/ 8 * 2);
}

任何帮助都会得到帮助。 谢谢。

1 个答案:

答案 0 :(得分:0)

要减少溢出的机会,请增加缓冲区大小。为了获得最佳效果,请使其尽可能大。

只要周期大小保持不变,延迟就不会改变。