ASIO:缓冲损失

时间:2016-04-09 09:42:35

标签: c# audio naudio asio

简介

我正在为舞蹈比赛创建一个 Multichannel ASIO音频和视频录音机。视频和音频流必须完美同步。主要障碍是我无法访问真实设备(Steinberg UR44)所以我使用 ASIO4ALL ,而我的设备客户端只是向我发送日志。

问题

在我的机器上使用 ASIO4ALL ,我有理想的同步,但设备的客户端会随着时间的推移而延迟。以下是我检测到缓冲区丢失的方法:日志显示2482事件处理程序的AsioOut.AudioAvailable次调用;录制会话持续时间为35.133秒;缓冲区大小:512;格式:16 bit PCM, 44kHz, 1 channel

因此:35.133 x 44100 / 512 = 3026调用是在理论上发生的,但客户端只有2482,因此他丢失了~20%音频数据。这就是为什么输出音频文件只有28.003秒的持续时间(~20%小于记录会话持续时间),这就是音频 - 视频同步中出现时间延迟增长的原因。

问题:此计算和结论是否正确?

0 个答案:

没有答案