在开始播放时有杂音,播放过程中正常,用的是异步播放。请问这种情况是否正常?
试试其它播放软件的效果是否相同?
如果不同,是LZ程序的问题;如果相同,可能是驱动的问题。
我用示波器测了一下UDA1341的输出信号,发现在开始播放的时候有一个尖峰脉冲,请问有谁遇到过类似的现象吗?
如果其他机子播放正常,那么就不是软件问题,那么就是音频线的问题.有可能是线路相互干扰引起的.
现在我在开始播放的时候先把声音设为静音,再开音量就可以解决上面的问题;但是现在又有新的问题了,先说说我这边按钮的功能吧,当按下时,要通过串口发送数据(数据不都就11字节)给其他处理器,同时还要播放声音,这时声音又会有杂音,而且要长按按钮的话杂音会更杂些,请问有谁知道怎么解决吗?
个人分析:因为用的是异步(SND_ASYNC)播放声音,在播放的时候受到其他线程的影响,如:按钮按下或通过串口发送数据,这个该如何解决呢?
按钮的时候先让播放声音暂停一下,处理完按钮的事件后接着播放,就好比导航程序和收音机、DVD的切换
但是,按按钮的时候跟CE通讯的CPU也会发数据过来,况且不知道什么时候发完,这要怎么处理呢?
还有我用playsound好像不能暂停吧?有其他的方法吗?
你用其他的机子试过吗?你看看有没有噪声过滤的参数设置.
噪声过滤的参数设置?我要的使playsound函数,就单独调用它的(PlaySound(_T("\\sound.wav"), NULL, SND_ASYNC | SND_FILE(忘了不知道是不是这样写));),我用的使自己画的板子,在这些板上都使这种情况。
你自己设计的板子?
我不是很清楚那些上层函数.
我上次写一个WM9713芯片的播放录音的程序.
刚开始的时候也有噪音.我把那个噪音过滤的系数加大后就好了,
当然我都是自己写寄存器的,没有函数调用,也不知道要用什么涵数.
产生噪音是你的音频线受干扰,产生了不该有的微小电流.一般通过芯片里的过滤装置去除.
这些就需要设置一些参数.
这些都是我理解的.还有其它很多原因会产生噪音吧,有一次因为耳机线长度与参数设置不一致
导致我们公司手机输出的声音有噪音.
当然如果线路设计的很好的话,受到的干扰就很小.反之就会有很强的干扰电流.
播放静音文件开始有杂音么?
你要确认一下 是codec或者PA打开时的杂音还是输出端寄生电容充放电造成的杂音然后再作处理
我用示波器测了一下,在文件播放完毕的时,有向下的尖脉冲(用交流测的),应该是这个一起的杂音,后来发现买的开发板也有这个干扰,但是开发板接上耳塞之后这个干扰就测不到了,自然也就没有杂音了,开发板的电路是UDA1341的输出端接个电容和电阻就接耳塞了。我的是UDA1341经过运放再功放,再到喇叭的。目前还在查这个尖脉冲产生的原因?
一般接功放都会把一些细微的电流变成杂音,你要想办法把它过滤掉.