感谢大家支持51Testing软件测试网!
消除笔记本的高频电流噪音
上一篇 /
下一篇 2008-11-18 22:10:47
/ 个人分类:小娱乐
7K'[q8D0oK0摘要:有些笔记本在使用中发出一种高频电流噪音。这种噪音随着硬盘的读写,用户对窗口界面中的滚动条的拉动发生变化,并在操作系统启动之后几乎始终存在,只有当用户播放音频文件时这种噪音会消失。本文利用这一特点针对Windows操作系统给出了消除噪音解决方案。本文设计了一个占用资源较少的Windows系统服务,在里面模拟音频文件的播放,从而将噪音消除。
3v&riNt8~/|5l#rup0^~YPS$]0关键字:笔记本高频电流噪音 Windows系统服务51Testing软件测试网.U1Dq-mK(gQ
51Testing软件测试网&i5{Y(J"C t
51Testing软件测试网?Kz ?L[n问题分析
0jg;P}$Y0有些笔记本由于设计方面的问题,如果使用了USB设备或蓝牙模块,在运行中会发出一种高频电流噪音。例子包括Dell
D610,Think R60e(在使用电池的模式下)。这种噪音的来源并未得到官方的解释。但是有些厂商已经发布了修复这种噪音问题的BIOS补丁[1]。但是某些厂商并未正面解决这个问题[2]。51Testing软件测试网g,D`uK4y_F,B0y
有一种比
较方便易行的方法可以把这种噪音消除:播放一个音频文件,然后按下暂停按钮。某些用户反映在运行一些游戏时也可以将噪音消除,其实也是利用了游戏背景音乐
的作用。但是这种方法的缺点是需要手工操作,并且音乐播放器往往占用大量的内存。我们应该考虑用一种节省的方式实现它。51Testing软件测试网6x0LyN+GB8md
y(Xz5a(k"w]Mle0设计与实现
/v,fSZ%W7MU4_0Windows提供了一组波形音频的编程接口。我们可以利用它们模拟播放器的暂停状态:
OI7Y4RT mw1[I9k*q02bov/h'N5A X1R,uG l0//代码: 模拟播放器的暂停状态
*Hv.F$BaG2N0HWAVEOUT hWaveOut; //波形音频输出句柄51Testing软件测试网
Ht_{O ?8~"z
BYTE mute[MUTE_LENGTH]; //静音符号串51Testing软件测试网v[kT~WVY(\u \0N
WAVEFORMATEX waveformat = {
$Sg`YdJV&vi0 WAVE_FORMAT_PCM, 1, SAMPLE_RATE, SAMPLE_RATE, 1, 8, 0
.J+y?xz0}; //设定波形音频的格式
)kaf*_}(K[0WAVEHDR waveHdr = {
4A j3Pfn:D9_(L F0 0, MUTE_LENGTH, 0, 0, 0, 1, NULL, 051Testing软件测试网d$Z|2M?j!Uz
}; //音频数据信息头