我爱Aspx >> Asp.Net >> 在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是多任务(又是这个!),所以可以有几个程序同时利用一个设备播放声音,所以每个程序都自己开辟一个二级缓冲区,放自己的声音。
Ҷƪл˵?
C#实现文件下载[05-20]
Visual C# 3.0 新特性概览 (二)[05-20]
Visual C# 3.0 新特性概览(一)[05-20]
C#中调用Windows API的要点[05-20]
c#收取邮件[05-20]
用Visual C#实现P2P应用程序[05-20]
用Visual C#实现局域网点对点通..[05-20]
C#下用P2P技术实现点对点聊天[05-20]
C#如何读取QQ纯真IP数据库[05-20]
C#怎样才能实现窗体最小化到托盘..[05-20]
ASP.NET程序中常用编程代码(一)[05-20]
为ASP.NET 2.0菜单控件增加targe..[05-20]
JavaScript去除空格的三种方法 (..[05-20]
ASP.NET程序中常用编程代码(二)[05-20]
C#实现文件下载[05-20]
ASP.NET 2.0 绑定高级技巧[05-20]
ASP.NET 2.0 绑定高级技巧[05-20]
开始学存储过程---更改创建存储过..[05-20]
@@IDENTITY[05-20]
开始学存储过程---创建存储过程[05-20]