扬声器会产生静电噪声的程序?

时间:2009-04-07 00:44:05

标签: c++ opengl audio

有谁知道我的程序可能导致我的扬声器输出一些软静态的原因?程序本身没有一个单独的元素可以输出任何声音,但是当我运行我的一些程序时,我可以听到来自扬声器的静电。当我运行某些程序时,它甚至会变得更响亮。移动扬声器无济于事,因此它必须来自计算机内部。

我不确定要放下什么其他细节,因为这看起来很奇怪。它们是使用MS Visual C ++用C ++编写的OpenGL程序。

编辑:似乎是在无限循环内交换帧缓冲区正在制造噪音,就像当我停止交换时,我会沉默......

7 个答案:

答案 0 :(得分:3)

执行代码时,计算机会消耗不同的电量。这种电流波动就像一个射频发射器,可以被音频设备拾取,它基本上就像AM调制信号一样被“解码”。由于执行通常不会产生可识别的信号,因此听起来像白噪声。如果您在接听电话时将(GSM)手机靠近音频放大器,那么拾取RF信号的音频设备就是一个很好的例子。你很可能会听到手机发射器发出的特有的嗡嗡声。

点击此处了解有关Electromagnetic compatibility的更多信息。信号可以通过多种方式耦合到音频中。正如您所提到的那样,电源线很可能是磁感应耦合。

答案 1 :(得分:3)

:)

您会惊讶地发现扬声器输入从硬盘中获取静态。当您执行内存/磁盘密集型(如交换帧缓冲区)以便硬盘必须快速旋转时,会出现声音。

几年前我遇到了同样的问题,我也解决了。但我很抱歉我不记得我是怎么做到的。

希望诊断有助于解决问题。

更新:我记得。如果您使用的是Windows,请转到音量控制并静音所有外部输入/输出,如CD输入等。只需保留两个基本输入/输出。

答案 2 :(得分:2)

既然你说你的程序中没有触摸声音,我怀疑这是你的代码。如果您运行任何其他图形密集型程序,是否会发生?此外,如果您在调音台中静音各种频道(32位窗口上的sndvol32.exe)会发生什么?

不知道别的什么我敢猜测它可能与显卡上的风扇有关。如果您的程序导致风扇打开并且它靠近声卡或风扇的电源线穿过音频线,则可能会导致静电。尝试尽可能远离风扇和电源线移动任何音频线,看看会发生什么。

它也可能从许多其他来源获取静态,我不会说这一定是不寻常的。如果非图形密集型程序也会导致这种情况,则可能是硬盘访问,甚至是在天线等音频线路上拾取的某些CPU /电源频率。您还可以尝试减少音频线路中的环路数量,看看它是否有帮助,但无法保证。

答案 3 :(得分:0)

主板上的蹩脚音频硬件,特别是那些最终出现在办公室电脑中的硬件。 PC机箱内部充满电气噪音。如果它与音频硬件耦合,你会听到它。

解决方案:获取一对带有音量控制的耳机。转动耳机上的音量,然后将电脑上的音量调高。在大多数情况下,这会增加相对于噪声水平的信号电平。

答案 4 :(得分:0)

大多数电子设备会发出某种电磁干扰。您的扬声器或声音硬件可能会像视频线或显卡本身那样简单。根据我的经验,便宜的扬声器和保护不良的音频设备往往对这种辐射非常敏感。

答案 5 :(得分:0)

主板上的干扰会泄漏到您的声音总线上。

这通常是因为您的主板质量或它的年龄。此外,计算机内部设备的布局(靠近,重叠)通常会产生有趣的EM场。随着年龄的增长,我以前的旧笔记本电脑变得越来越容易。

因此,当事情正在上升或下降时,你会听到它。

尝试查看它是否发生在其他计算机上。尝试不同年龄和不同配置的不同计算机(外部声卡或物理声卡等)。

希望有所帮助。

答案 6 :(得分:0)