TI中文支持网
TI专业的中文技术问题搜集分享网站

dm8168 alsa音频采集问题

在dm8168上使用alsa接口进行音频采集,使用的是EZSDK 5.05.02,会出现采集到的数据比理论值多出来的问题。听音结果是声音有重复,推断是采集到的数据中出现重复数据。而使用ezsdk中提供的audio_encode这个例子测试也同样会出现这种情况。请问这是什么问题?该如何解决?

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

escofield Zhu:

你好,我也遇到一个很奇怪的问题,用alsa接口采集音频,设置period为160帧,采样频率为8k,采样精度为8字节,单声道,然后通过网络发包,用wireshark监视工具,查看包到达时间,理论是每包间距为20ms,但随着时间的推移,会在某一时刻同时到达很多包,不知这个问题跟你相同么,请问你解决了么?

jamal james:

我最近在dm8168 下 利用audio_encode 来采集pcm 数据然后编码到aac格式,发现和你出现了一样的问题。 44100,2ch, s16, raw. 以这样的参数 去采样,会发现pcm原始数据 不定时的出现重复数据,播放的效果就是有叠音。    在sdk 里面只运行 demo.c  的采集pcm功能, 也是出现重复。     最后不用 sdk提供的pcm采样函数了,调用alsa 的 arecord 源码来采样(arecord -D hw:0,1 -r 44100 -f S16_LE -t raw -c 2  001.pcm), 发现还是有重叠数据;  不知道你是如何解决的。 指教一下。

赞(0)
未经允许不得转载:TI中文支持网 » dm8168 alsa音频采集问题
分享到: 更多 (0)