- 2
- 0
- 约1.09万字
- 约 7页
- 2016-10-18 发布于广东
- 举报
消除笔记本的高电流噪音
消除笔记本的高频电流噪音
季光dummyshining365@.dum
摘要:有些笔记本在使用中发出一种高频电流噪音。这种噪音随着硬盘的读写,用户对窗口界面中的滚动条的拉动发生变化,并在操作系统启动之后几乎始终存在,只有当用户播放音频文件时这种噪音会消失。本文利用这一特点针对Windows操作系统给出了消除噪音解决方案。本文设计了一个占用资源较少的Windows系统服务,在里面模拟音频文件的播放,从而将噪音消除。
关键字:笔记本高频电流噪音 Windows系统服务
?
问题分析
有些笔记本由于设计方面的问题,如果使用了USB设备或蓝牙模块,在运行中会发出一种高频电流噪音。例子包括Dell D610,Think R60e(在使用电池的模式下)。这种噪音的来源并未得到官方的解释。但是有些厂商已经发布了修复这种噪音问题的BIOS补丁[1]。但是某些厂商并未正面解决这个问题[2]。
有一种比较方便易行的方法可以把这种噪音消除:播放一个音频文件,然后按下暂停按钮。某些用户反映在运行一些游戏时也可以将噪音消除,其实也是利用了游戏背景音乐的作用。但是这种方法的缺点是需要手工操作,并且音乐播放器往往占用大量的内存。我们应该考虑用一种节省的方式实现它。
设计与实现
Windows提供了一组波形音频的编程接口。我们可以利用它们模拟播放器的暂停状态:
//代码:?模拟播放器的暂停状态HWAVEOUT?hWaveOut;??????????//波形音频输出句柄BYTE?mute[MUTE_LENGTH];?????//静音符号串WAVEFORMATEX?waveformat?=?{????WAVE_FORMAT_PCM,?1,?SAMPLE_RATE,?SAMPLE_RATE,?1,?8,?0};??????????????????????????//设定波形音频的格式WAVEHDR?waveHdr?=?{????0,?MUTE_LENGTH,?0,?0,?0,?1,?NULL,?0};??????????????????????????//音频数据信息头FillMemory(mute,?MUTE_LENGTH,?(BYTE)0x80);??//用静音符号填充waveHdr.lpData?=?mute;??????????????????????//初始化信息头指针//打开音频设备waveOutOpen?(hWaveOut,?WAVE_MAPPER,?waveformat,?0,?0,?CALLBACK_FUNCTION);//准备信息头waveOutPrepareHeader?(hWaveOut,?waveHdr,?sizeof?(WAVEHDR))?;//播放静音符号waveOutWrite?(hWaveOut,?waveHdr,?sizeof?(WAVEHDR))?;//暂停waveOutPause(hWaveOut)?;
利用这段代码写一个win32程序,保证程序进程不会退出(可利用一个含有Sleep调用的死循环或弹出一个模态对话框实现),即可实现消除噪音的作用。
然而这样做仍然不够完善。我们希望系统在启动的时候,无论有用户登录与否,都能够自动地调用它。为了解决这一问题,我们应当把它改造为Windows的系统服务。
Windows系统服务的编写需要服从一定的格式规范,请参阅相关文献[3],本文不予详述。需要注意的是,如果编写为独立的Windows服务,仍然需要1,900K左右的内存;如果编写为寄存在svchost中的服务[4],则可以把内存占用量大大降低,达到300~400K。本文采用了后者。
完整代码如下(我们把服务名取作DenoiseSvc31):
/*消电流噪声?svchost版?3.1*/#include?windows.h#include?stdio.h#define?SLEEP_TIME?10000#define?SERVICE_NAME?DenoiseSvc31 //服务名#define?MUTE_LENGTH?128#define?SAMPLE_RATE?11025SERVICE_STATUS??????????ServiceStatus;SERVICE_STATUS_HANDLE???hStatus;void?InitService(void)?{????HWAVEOUT?hWaveOut?;????BYTE?mute[MUTE_LENGTH];????WAVEFORMATEX?waveformat?=?{????????WAVE_FORMAT_PCM,?1,?SAMPLE_RATE,?SAMPLE_RATE,?1,?8,?0????};????WAV
您可能关注的文档
- 海市嘉定区202届高三第一次质量检测英语试题.doc
- 海底总动员小丑艺术瓶 DIY 德国手绘颜料成品.doc
- 海德格尔哲学(志伟经典).doc
- 海思开发板常规发步骤解析-郑HC整理.doc
- 海水的构成的演 通过地质时期和它的对生活的演变的影响.doc
- 海洋与湖沼投稿本格式模板(2014-2-28).doc
- 海洋大学研究生文书写格式.doc
- 海洋测绘领域常英语词汇.doc
- 海洋生药海龙的究概述.doc
- 海门市20102011期末试卷九年级数学调研卷.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 2025统编版小学道德与法治三年级下册教学计划、教学设计附教学反思(附目录).docx
- 2026年廉政答案考试题库(考试直接用).docx VIP
- 虚列费用培训课件.ppt VIP
- Z20名校联盟(浙江省名校新高考研究联盟)2026届高三第二次联考日语含答案.doc VIP
- 煤矿2026年机电工作计划方案.docx VIP
- 企业合规法律服务指引(湖北省律师协会法律顾问专委会).pdf VIP
- Qu系列说明书QU16&QU24(加强版).pdf VIP
- 数学与生活:一元二次方程的起源.pptx VIP
- 事业单位d类综合应用能力必背知识点.pdf VIP
- (课堂用)TheFutureoftheEnglish(课件.ppt VIP
原创力文档

文档评论(0)