c#下利用directsound实现声音播放

c#下利用directsound实现声音播放

ID:14600623

大小:30.00 KB

页数:3页

时间:2018-07-29

c#下利用directsound实现声音播放_第1页
c#下利用directsound实现声音播放_第2页
c#下利用directsound实现声音播放_第3页
资源描述:

《c#下利用directsound实现声音播放》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C#下利用DirectSound实现声音播放第1步:下载并安装DirectX9SDKDirectX9SDK下载地址:http://msdn.microsoft.com/directx/sdk/,目前最新版本是2006年8月,下载包500MB多。第2步:建立C#应用程序新建一个C#的windows应用程序,名称这里输mydirectXtest。解决方案管理器里,右击项目,“添加引用”,选中DirectX和DirectSound,如下图:在Form1.cs里面添加:usingMicrosoft.DirectX;usingMi

2、crosoft.DirectX.DirectSound;往Form1上面拉一个Label和一个Button,在Buttononclick事件里面写入://建立声音设备Microsoft.DirectX.DirectSound.Devicedev=newMicrosoft.DirectX.DirectSound.Device();dev.SetCooperativeLevel(this,Microsoft.DirectX.DirectSound.CooperativeLevel.Normal);//为声音建立二级缓冲区tr

3、y...{Microsoft.DirectX.DirectSound.SecondaryBuffersnd=newMicrosoft.DirectX.DirectSound.SecondaryBuffer("../../NewDrums.wav",dev);//播放声音snd.Play(0,Microsoft.DirectX.DirectSound.BufferPlayFlags.Default);}catch(Exceptionex)...{label1.Text=ex.ToString();}Microsoft.Di

4、rectX.DirectSound.Devicedev=newMicrosoft.DirectX.DirectSound.Device();——建立device的类;dev.SetCooperativeLevel(this,Microsoft.DirectX.DirectSound.CooperativeLevel.Normal);——设置CooperativeLevel。因为Windows是多任务的系统,设备不是独占的,所以在使用设备前要为这个设备设置CooperativeLevel。调用Device的SetCoope

5、rativeLevel方法:其中,第一个参数是一个Control;第二个参数是个枚举类型,用来设置优先级的。SecondaryBuffersnd=newMicrosoft.DirectX.DirectSound.SecondaryBuffer("../../NewDrums.wav",dev);——开辟缓冲区。声音设备有个自己的缓冲区,叫主缓冲区。系统中,一个设备有唯一的主缓冲区。由于windows是多任务的,所以可以有几个程序同时利用一个设备播放声音,每个程序都自己开辟一个二级缓冲区,放自己的声音。这里需要注意播放声音

6、的路径,一开始初学者容易把wav声音放到项目里面,在SecondaryBuffer里面直接写“NewDrums.wav”,调试是会显示“应用程序错误”。因为调试的默认文件夹是Debug,需要的声音文件应该放到Debug目录下,用“NewDrums.wav”的格式;或者放在项目下面,用“../../NewDrums.wav”的格式。很傻的错误吧。这样,调试程序,按button就会播放声音了。全部代码如下:Form1.cs:usingSystem;usingSystem.Collections.Generic;usingSy

7、stem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingMicrosoft.DirectX;usingMicrosoft.DirectX.DirectSound;namespacemydirectXtest...{publicpartialclassForm1:Form...{publicForm1()...{InitializeComponent();}private

8、voidbutton1_Click(objectsender,EventArgse)...{//建立声音设备Microsoft.DirectX.DirectSound.Devicedev=newMicrosoft.DirectX.DirectSound.Device();dev.SetCooperativeLevel

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。