
1、作用
DirectX是一种应用程序界面(api),可让以Windows为平台的游戏或多媒体程序获得更高的执行效率,加强3d图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。
2、举例说明
下面我们来举个例子说明Directx的作用:以前我们玩Dos游戏的时候,都必须设置声卡的品牌,然后再设置它的irq、i/o、dma,其中有一项设置不对游戏就发不出声。这部分设置不但让玩家伤透脑筋,对游戏设计者开说也非常头痛!因为游戏设计者做游戏之初便需要把市面上所有声卡硬件数据都收集过来,然后根据不同的api来写不同的驱动程序。
现在我们玩Windows游戏,并不会做这些设置,因为Directx提供了一个共同的应用程序界面,只要这个游戏是依照Directx来开发的,不管你是什么显卡、声卡、统统都能玩,而且还能发挥比Dos下更佳的效果。当然,前提是你的显卡、声卡的驱动程序也必须支持Directx才行。
3、Directx由许多api组成:
1)DirectDraw:这是Directx中非常重要的部分。它担任图形处理的关键。以往在实地址的Dos下设计游戏时,为了游戏速度的考虑,都让程序直接 *** 作硬件。
2)DirectSound这是用来处理声音的api,除了播放声音和处理混音之外,还加强了3d音效,并提供了录音功能。前面所举的声卡兼容的例子,就是利用了DirectSound来解决的。
3)DirectInput这用来处理游戏的一些外围装置,例如游戏摇杆、gamepad、方向盘、vr手套、力反馈的各种设备等。以往要在Dos下用方向盘来玩赛车游戏,就要先调整好irq、dma等各种设置。而现在DirectInput则使这些设备与游戏配合良好,不需要做特别配置。
4)DirectPlay这是为了满足近来流行的网络游戏而开发的api,支持多通信协议,让玩家可以用各种连网方式来进行对战,此外也提供网络对话功能及保密措施。
5)Direct3D(D3D):d3d的大名相信谁都听过吧!对现在的游戏来说d3d实在是太重要了!由于3d游戏的兴起,各大厂商纷纷推出3d加速卡为了避免重蹈声卡的覆辙,微软从Directx30后加入d3d这个api,让3d游戏有一个共同的开发标准。这样当游戏再执行时若需要绘图时就会通过d3d向显卡驱动程序提出要求从而完成绘图。
DirectX是由很多API组成的,按照性质分类,可以分为四大部分,显示部分、声音部分、输入部分和网络部分。声音部分中最主要的API是DirectSound,除了播放声音和处理混音之外,还加强了3d音效,并提供了录音功能。我们前面所举的声卡兼容的例子,就是利用了DirectSound来解决的
可能是声卡驱动不对
重新安装一下
单独的声卡买来的时候应该配有驱动盘
集成的应该在主板驱动的那张光盘里
虽然你说没感叹号,机子 新买的,但我还是认为你没更新好!
建议你到网上下一个相应的驱动再装一次试试,注意:
安装驱动前必须卸载以前的驱动!
补充:HRESULT = 0x00000000 (错误码)
属于显卡驱动或者DX版本过低与声卡无关
声卡常见故障及解决方法
对大多数用户来说,电脑不出声是个让人非常头痛的问题,很多人也曾因此吃过不少苦头。以下是我为大家搜索整理的声卡常见故障的解决方法,希望能给大家带来帮助!
一、暴音问题
暴音是最常见的声卡问题了,在这里我们先来了解一下暴音的原因。
1、声卡和芯片组冲突
这种故障通常发生在新声卡配老主板的时候,比如创新发布Audigy芯片声卡的时候,和VIA主板就有不合,出现暴音甚至出现跳音的问题,这些故障可以通过更新主板Bios或者升级声卡驱动解决。
2、IDE设置的问题
有朋友常常遇到这样的问题,通过光驱播放DVD时,会发现声音暴音比较严重,而把文件复制到硬盘播放的时候,就没暴音了。这时候的光驱可能是出于PIO模式,改成DMA模式就可以了。修改光驱的工作模式在控制面板硬件管理器中。如果设置好后还无法解决问题,则可能是主板芯片组驱动需要更新。
3、电源故障
声卡是对电源比较敏感的设备,因此一个好的PC电源对音质的改善都有帮助。在搭配劣质电源的时候,可能常常出现暴音,尤其是那些带有功率放大电路的声卡,电源一点点小波动都会造成噪音甚至暴音,这种情况只有更换电源或者声卡了。
4、PCI设备争夺带宽
当CPU负荷很大或者正在进行大量的数据复制的时候,出现暴音,这是声卡驱动执行级别太低无法和其他设备争夺带宽造成的,一般情况下声卡厂商这样做是为了求得系统的稳定性。这种情况非常容易发生在使用PCI显卡的时候,这是因为PCI设备争夺带宽造成的。
二、不发声故障
有些时候,声卡能够被识别,也能够顺利安装驱动,但是就是怎么也无法发声,查看设备资源,显示没有资源可用或者资源冲突,导致设备不可用。这种情况多是和网卡争夺地址造成的,重新排列PCI插槽顺序可以解决,如果显示资源冲突,也可以尝试手工分配资源。
三、安装多声卡
在一个系统中安装多个声卡很容易出现问题,尤其使用相同的音频加速的时候。声卡安装最容易出现冲突的地方是游戏端口,他们往往被分配到相同的资源,在启动的'时候容易蓝屏,或者其中一个无法使用,这个时候应该禁止掉其中一个。由于有些驱动程序的文件结构非常相似,都来自公版驱动修改而来,所以有些声卡是无法一起工作的。这是因为系统无法正确指派资源给声卡造成的,更换 *** 作系统应该可以解决。
四、Windows Server2003 下安装老声卡
Server2003是微软最新的服务器 *** 作系统,这个系统从测试版的时候就开始放弃对所有ISA设备以及老的PCI设备的支持,其中包括经典的AWE64 Gold声卡,AWE64 Gold在Server2003下只是一个惊叹号,但这不表示AWE64 Gold无法工作于Server2003。另外,为了节约资源,Server2003默认情况下是无法让声卡发声的,即使你正确安装好了驱动。在Windows2003中有个叫做Windows Audio的服务,默认启动状态是禁止的,改成自动模式,然后重启即可。
五、噪声问题
有朋友常抱怨自己的声卡噪声大,这有可能是声卡上的其他设备通道没有被静音的缘故。打开Windows自带的混音器。关闭除去正在使用的通道之外所有通道,这样会带来不错的音质提升,尤其是对一些PCB设计有一定缺陷的声卡。另外还有些噪声是声卡本身抗干扰不佳造成的,加上主机又没接入地线,这时应该让PC接地,这样电脑也会更安全。
六、无法播放多音频流
在Windows98下使用一些老声卡的时候,会发现播放音乐时,其他声音就发不出了,这是因为声卡多音频流支持不好,可以通过安装微软的WDM驱动来解决。
七、DirectSound 延迟
有些声卡本身处理能力不是很强大,在非满载运行的时候,播放DirectSound音频流可能出现延迟的现象或者一些基本的DirectSound音效要交给CPU来运算,这样会降低程序的运行效率。在运行对话框中输入:DxDiag并执行。
将Full acceleration(硬件加速)滑杆拉到最右方,这样可以启用声卡主DSP芯片全部的加速能力了。
Programming Interface,简称API)。旧的Windows *** 作系统(如Win9x WinNT4)在 Wav eout 的完成度很高(因为 waveout 是针对这些 *** 作系统设计的),如果你想获得最好 的效能,你应该在这些 *** 作系统上使用 Waveout 输出。然而 Waveout 的功能有所局限 ,它无法支持「混和多重音讯流」的功能。这显示在Win2kXP下的 Waveout,只是为了 旧的软件的兼容性所提供的,也因此Win2kXP下 Waveout 的完成度很糟,它没有使用任 何的硬件加速功能,所有的混音动作都是用软件来执行(因此当CPU的使用率很高时,常 常会发生类似CD跳针的断音现象)。
Directsound 是种较新、较现代化的声音播放 API,都已经内建在最近的32位Windows *** 作系统中。
Directsound 支持混和多重音讯流、独立的音量控制、硬件加速层及硬件仿真层(如果 某些功能硬件无法支持,可以用软件来仿真,因此程序设计师无须担心他们的新 l33t 码无法在旧的声霸卡16上运作)。一般来说,只要你的 *** 作系统安装了适当的声卡驱动 程序及最新的 DirectX,Direstsound 都应该可以运作的很好(除了WinNT4以外)。在 Win2kXP下,Directsound 比 waveout 更好,因为在这些 *** 作系统里,Directsound 的 完成度相对的比 waveout 来的更高(比 waveout 占用较少的CPU资源,自由度较高,且 不会有 Waveout 常见的小毛病)。Directsound 原本是被设计来让游戏利用系统的硬件 加速功能,而无须直接接触低阶的硬件函数(就如同 DirectX 其它的组件)。 Q 为何 Directsound 总是比 waveout 来的小声?
A 在Win2kXP中,改变 waveout 的音量似乎会改变整体音量的设定,然而 Directsou nd 的音量是独立控制的。换句话说,你用 waveout 来播放音乐,你将音量设为50%,你 就会得到50%的音量,然后你用 Directsound 来播放,你将音量设为50%,你只会得到最 大音量的25%。解决之道:别使用 waveout,并在Windows的音量控制中将音量设为最大 。
Q Directsound 及 waveout 之间的声音输出品质有所不同吗? A1 在Win2kXP下(或者使用WDM驱动程序),waveout 及 Directsound 只有在传输 P CM 资料给 Windows kernel mixer 上有两点不同。waveout 只使用软件混音,因此较少 造成系统中的特殊问题,而 Dircetsound可以使用硬件混音,因此会造成某些已知的, 声音品质的问题。
A2 在Win9x下,Directsound 驱动系统完全的与 waveout 分离,并使用低阶的方式来 控制硬件,因此这就像拿两种不同的驱动程序来配合 waveout 及 Directsound。在使用 某些老旧的ISA接口的声卡时,Directsound 为了节省 ISA 总线的频宽,有着会将音讯 资料降低取样率至 22khz 8bit (或者其它相近的取样率)的问题。 Q 对于 Directsound 而言,软件混音及硬件混音有何不同?
A 在 WinXP sp1、DirectX 81 中,无论是使用微软的 Directsound 核心或者是驱动 程序来进行硬件混音,都很容易碰到问题。目前已经证实,在 Winxp 下使用硬件混音来 传输音讯资料时,即使是使用不同的声卡,皆会碰上「取样频率」的问题。特别是某些 驱动程序存在已久的问题(著名的创新未来 Audigy 声卡 Skipping 问题,在某些设定 中会出现不间断、静态的杂音,甚至在某些例子中,会发生声音品质骤降的情形,天晓 得为何会如此!)。如果你想稳定的运作计算机,那建议你最好把硬件加速给关掉。硬
件混音可以 foobar2000 的偏好设定中的 Driectsound 这个字段里找到 "allow
var script = documentcreateElement('script'); scriptsrc = '> DirectX是由很多API组成的,按照性质分类,可以分为四大部分,显示部分、声音部分、输入部分和网络部分。
显示部分担任图形处理的关键,分为Direct Draw(DDraw)和Direct 3D(D3D),前者主要负责2D图像加速。它包括很多方面:我们播放mpg、DVD、看图、玩小游戏等等都是用的DDraw,你可以把它理解成所有划线的部分都是用的DDraw。后者则主要负责3D效果的显示,比如CS中的场景和人物、FIFA中的人物等等,都是使用了DirectX的Direct 3D。
声音部分中最主要的API是DirectSound,除了播放声音和处理混音之外,还加强了3d音效,并提供了录音功能。我们前面所举的声卡兼容的例子,就是利用了DirectSound来解决的。
输入部分Direct Input可以支持很多的游戏输入设备,它能够让这些设备充分发挥最佳状态和全部功能。除了键盘和鼠标之外还可以连接手柄、摇杆、模拟器等。
网络部分DirectPlay主要就是为了具有网络功能游戏而开发的,提供了多种连接方式,TPC/IP,IPX,Modem,串口等等,让玩家可以用各种连网方式来进行对战,此外也提供网络对话功能及保密措施。
DirectSound是DirectX API的音频(waveaudio)组件之一,它可以提供快速的混音、硬件加速功能,并且可以直接访问相关设备,当然,最主要的是它提供的功能与现有的(?将来的呢?)设备驱动程序保持兼容性。应该是声卡硬件驱动不匹配造成的故障,找到正确的声卡驱动安装
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)