在dm8168上使用alsa接口进行音频采集,使用的是EZSDK 5.05.02,会出现采集到的数据比理论值多出来的问题。听音结果是声音有重复,推断是采集到的数据中出现重复数据。而使用ezsdk中提供的audio_encode这个例子测试也同样会出现这种情况。请问这是什么问题?该如何解决?
我的设置是双声道、44100采样、16bit。因此每秒钟应该产生44100frame的数据。我们做了一些详细的测试,发现每出现一次数据多的情况,数据就会多出大约32768个音频frame,这个大小和驱动中的buffer size向匹配。我们分别在驱动和应用程序中打印了采集到你n*10000*1024 frame的时间,结果如附件,显示二者会有差异且差异会越来越大。差异每次变大都大约增加0.75s。也就是多出了这么长时间的重复数据。经计算,考虑合理的测量误差,发现驱动里打印的时间是对的,但应用层则采集到了多余预期的数据,测试中表现为先于理论实践采集到了规定的frame。