我有一个专用线程,可以通过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);
}
任何帮助都会得到帮助。 谢谢。
答案 0 :(得分:0)
要减少溢出的机会,请增加缓冲区大小。为了获得最佳效果,请使其尽可能大。
只要周期大小保持不变,延迟就不会改变。