第1步:下载并安装DirectX 9c
第2步:建立C#应用程序
新建一个C#的windows应用程序,名称这里输mydirectXtest。
解决方案管理器里,右击项目,“添加引用”,选中DirectX和DirectSound,如下图:
在Form1.cs里面添加:
![](Images/OutliningIndicators/None.gif)
![](Images/OutliningIndicators/None.gif)
往Form1上面拉一个Label和一个Button,在Button onclick事件里面写入:
![](Images/OutliningIndicators/None.gif)
2
![](Images/OutliningIndicators/None.gif)
3
![](Images/OutliningIndicators/None.gif)
4
![](Images/OutliningIndicators/None.gif)
5
![](Images/OutliningIndicators/None.gif)
6
![](Images/OutliningIndicators/None.gif)
7
![](Images/OutliningIndicators/None.gif)
8
![](Images/OutliningIndicators/None.gif)
9
![](Images/OutliningIndicators/None.gif)
10
![](Images/OutliningIndicators/ExpandedBlockStart.gif)
11
![](Images/OutliningIndicators/InBlock.gif)
12
![](Images/OutliningIndicators/InBlock.gif)
13
![](Images/OutliningIndicators/InBlock.gif)
14
![](Images/OutliningIndicators/InBlock.gif)
15
![](Images/OutliningIndicators/InBlock.gif)
16
![](Images/OutliningIndicators/InBlock.gif)
17
![](Images/OutliningIndicators/ExpandedBlockEnd.gif)
18
![](Images/OutliningIndicators/None.gif)
19
![](Images/OutliningIndicators/ExpandedBlockStart.gif)
20
![](Images/OutliningIndicators/InBlock.gif)
21
![](Images/OutliningIndicators/ExpandedBlockEnd.gif)
Microsoft.DirectX.DirectSound.Device dev = new Microsoft.DirectX.DirectSound.Device(); ——建立device的类;
dev.SetCooperativeLevel(this, Microsoft.DirectX.DirectSound.CooperativeLevel.Normal); ——设置CooperativeLevel。因为Windows是多任务的系统,设备不是独占的,所以在使用设备前要为这个设备设置CooperativeLevel。调用Device的SetCooperativeLevel方法:其中,第一个参数是一个Control;第二个参数是个枚举类型,用来设置优先级的。
SecondaryBuffer snd = new Microsoft.DirectX.DirectSound.SecondaryBuffer("../../NewDrums.wav", dev); —— 开辟缓冲区。声音设备有个自己的缓冲区,叫主缓冲区。系统中,一个设备有唯一的主缓冲区。由于windows是多任务的,所以可以有几个程序同时利用一个设备播放声音,每个程序都自己开辟一个二级缓冲区,放自己的声音。
这里需要注意播放声音的路径,一开始初学者容易把wav声音放到项目里面,在SecondaryBuffer里面直接写“NewDrums.wav”,调试是会显示“应用程序错误”。因为调试的默认文件夹是Debug,需要的声音文件应该放到Debug目录下,用“NewDrums.wav”的格式;或者放在项目下面,用“../../NewDrums.wav”的格式。很傻的错误吧。
这样,调试程序,按button就会播放声音了。全部代码如下:
Form1.cs:
![](Images/OutliningIndicators/None.gif)
2
![](Images/OutliningIndicators/None.gif)
3
![](Images/OutliningIndicators/None.gif)
4
![](Images/OutliningIndicators/None.gif)
5
![](Images/OutliningIndicators/None.gif)
6
![](Images/OutliningIndicators/None.gif)
7
![](Images/OutliningIndicators/None.gif)
8
![](Images/OutliningIndicators/None.gif)
9
![](Images/OutliningIndicators/None.gif)
10
![](Images/OutliningIndicators/None.gif)
11
![](Images/OutliningIndicators/None.gif)
12
![](Images/OutliningIndicators/None.gif)
13
![](Images/OutliningIndicators/None.gif)
14
![](Images/OutliningIndicators/ExpandedBlockStart.gif)
15
![](Images/OutliningIndicators/InBlock.gif)
16
![](Images/OutliningIndicators/ExpandedSubBlockStart.gif)
17
![](Images/OutliningIndicators/InBlock.gif)
18
![](Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](Images/OutliningIndicators/InBlock.gif)
20
![](Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
21
![](Images/OutliningIndicators/InBlock.gif)
22
![](Images/OutliningIndicators/InBlock.gif)
23
![](Images/OutliningIndicators/ExpandedSubBlockStart.gif)
24
![](Images/OutliningIndicators/InBlock.gif)
25
![](Images/OutliningIndicators/InBlock.gif)
26
![](Images/OutliningIndicators/InBlock.gif)
27
![](Images/OutliningIndicators/InBlock.gif)
28
![](Images/OutliningIndicators/InBlock.gif)
29
![](Images/OutliningIndicators/InBlock.gif)
30
![](Images/OutliningIndicators/InBlock.gif)
31
![](Images/OutliningIndicators/InBlock.gif)
32
![](Images/OutliningIndicators/InBlock.gif)
33
![](Images/OutliningIndicators/InBlock.gif)
34
![](Images/OutliningIndicators/ExpandedSubBlockStart.gif)
35
![](Images/OutliningIndicators/InBlock.gif)
36
![](Images/OutliningIndicators/InBlock.gif)
37
![](Images/OutliningIndicators/InBlock.gif)
38
![](Images/OutliningIndicators/InBlock.gif)
39
![](Images/OutliningIndicators/InBlock.gif)
40
![](Images/OutliningIndicators/InBlock.gif)
41
![](Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
42
![](Images/OutliningIndicators/InBlock.gif)
43
![](Images/OutliningIndicators/ExpandedSubBlockStart.gif)
44
![](Images/OutliningIndicators/InBlock.gif)
45
![](Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
46
![](Images/OutliningIndicators/InBlock.gif)
47
![](Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
48
![](Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
49
![](Images/OutliningIndicators/ExpandedBlockEnd.gif)
| 秀飞颈椎枕 真实远离颈椎 20天包退 还退快递 | |
95.0元 | ![]() |