【发布时间】:2018-07-13 07:10:03
【问题描述】:
我有一个专用线程,可以通过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);
}
感谢任何帮助。 谢谢。
【问题讨论】:
-
-32 是 -EPIPE,这表示溢出。在这种情况下应该怎么办?
-
我正在连续录制视频(每一分钟的持续时间),出现此错误“从音频接口读取失败 err = -32”后,视频文件大小逐渐减小,然后文件大小为 1kb 或 2kb不可播放的文件。请建议我如何克服“溢出错误”。
-
溢出意味着您的程序读取样本的速度不够快,因此丢失了一些样本。在这种情况下应该怎么办?
-
我怎样才能以正确的方式实现这一目标..?
-
部分样本丢失怎么办?中止?重新开始?用零替换?