教程集 www.jiaochengji.com
教程集 >  脚本编程  >  C语言  >  正文 C#中使用DirectX编程

C#中使用DirectX编程

发布时间:2018-12-28   编辑:jiaochengji.com
教程集为您提供C#中使用DirectX编程等资源,欢迎您收藏本站,我们将为您提供最新的C#中使用DirectX编程资源
 
我感觉声音的播放比较简单。我们从播放声音开始。为什么我这么觉得?我也不知道。
这里是展示最最最最最简单的DirectX播放声音的例子,我尽量省略了无关的代码。最后的代码只有19行,够简单了吧?
准备工作:
1.安装了DirectX SDK(有9个DLL文件)。这里我们只用到MicroSoft.DirectX.dll 和 Microsoft.Directx.DirectSound.dll
2.一个WAV文件。(这样的文件比较好找,在QQ的目录里就不少啊。这里就不多说了。)名字叫SND.WAV,放在最后目标程序的同个目录下面
开始写程序啦。随便用个UltraEdit就好了。
1.引入DirectX 的DLL文件的名字空间:
using Microsoft.DirectX;
using Microsoft.DirectX.DirectSound;
2.建立设备。在我们导入的Microsoft.DirectX.DirectSound空间中,有个Device的类。这个是表示系统中的声音设备。
Device dv=new Device();
3.设置CooperativeLevel。因为windows是多任务的系统,设备不是独占的,所以在使用设备前要为这个设备设置CooperativeLevel。调用Device的SetCooperativeLevel方法:其中,第一个参数是一个Control,第二个参数是个枚举类型。
在这个程序中,Control我随便弄了个参数塞进去(很汗吧!)。如果在windows程序中,可以用this代替。第二个参数就是优先级别,这里表示优先播放。
dv.SetCooperativeLevel((new UF()),CooperativeLevel.Priority);
4.开辟缓冲区。对于上面的声音设备,他有个自己的缓冲区,叫主缓冲区。系统中,一个设备有唯一的主缓冲区。由于windows是多任务(又是这个!),所以可以有几个程序同时利用一个设备播放声音,所以每个程序都自己开辟一个二级缓冲区,放自己的声音。
系统根据各个程序的优先级别,按照相应的顺序分别去各个二级缓冲区中读取内容到主缓冲区中播放。这里,我们为SND.WAV开辟一个缓冲区。
其中,第一个参数表示文件名(傻瓜都看出来了!),第二个就是需要使用的设备。

您可能感兴趣的文章:
在Windows 8.1/RT 8.1使用DirectX诊断问题
C#中使用DirectX编程
javascript实例 js实现小球的自由移动
无法启动此程序 因为计算机中丢失d3dx*-**.dll的解决方法
使命召唤游戏卡如何设置 使命召唤游戏最低配置要求
Windowns 7穿越火线无法进入提示 Client file corruption detected
dos 运行 命令大全
Windows 2003系统优化教程
Windows 7提示无法启动此程序,因为计算机中丢失 MSVCP120.dll
中世纪工程师进不了进不了游戏怎么?进不了游戏解决办法

[关闭]
~ ~