C#下利用DirectSound实现声音播放.doc

上传人:hw****26 文档编号:3519720 上传时间:2019-06-01 格式:DOC 页数:3 大小:30KB
下载 相关 举报
C#下利用DirectSound实现声音播放.doc_第1页
第1页 / 共3页
C#下利用DirectSound实现声音播放.doc_第2页
第2页 / 共3页
C#下利用DirectSound实现声音播放.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

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

2、拉一个 Label 和一个 Button,在 Button onclick 事件里面写入:/ 建立声音设备Microsoft.DirectX.DirectSound.Device dev =new Microsoft.DirectX.DirectSound.Device();dev.SetCooperativeLevel(this,Microsoft.DirectX.DirectSound.CooperativeLevel.Normal);/ 为声音建立二级缓冲区try.Microsoft.DirectX.DirectSound.SecondaryBuffer snd =new Microso

3、ft.DirectX.DirectSound.SecondaryBuffer(“././NewDrums.wav“, dev);/ 播放声音snd.Play(0, Microsoft.DirectX.DirectSound.BufferPlayFlags.Default);catch (Exception ex).label1.Text = ex.ToString();Microsoft.DirectX.DirectSound.Device dev = new Microsoft.DirectX.DirectSound.Device(); 建立 device 的类;dev.SetCoopera

4、tiveLevel(this, Microsoft.DirectX.DirectSound.CooperativeLevel.Normal); 设置 CooperativeLevel。因为 Windows 是多任务的系统,设备不是独占的,所以在使用设备前要为这个设备设置 CooperativeLevel。调用 Device 的 SetCooperativeLevel 方法:其中,第一个参数是一个 Control;第二个参数是个枚举类型,用来设置优先级的。SecondaryBuffer snd = new Microsoft.DirectX.DirectSound.SecondaryBuffer

5、(“././NewDrums.wav“, dev); 开辟缓冲区。声音设备有个自己的缓冲区,叫主缓冲区。系统中,一个设备有唯一的主缓冲区。由于windows 是多任务的,所以可以有几个程序同时利用一个设备播放声音,每个程序都自己开辟一个二级缓冲区,放自己的声音。这里需要注意播放声音的路径,一开始初学者容易把 wav 声音放到项目里面,在SecondaryBuffer 里面直接写“ NewDrums.wav”,调试是会显示“应用程序错误” 。因为调试的默认文件夹是 Debug,需要的声音文件应该放到 Debug 目录下,用“NewDrums.wav”的格式;或者放在项目下面,用 “././New

6、Drums.wav”的格式。很傻的错误吧。这样,调试程序,按 button 就会播放声音了。全部代码如下:Form1.cs:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using Microsoft.DirectX;using Microsoft.DirectX.DirectSound;namespace mydirectXt

7、est.public partial class Form1 : Form.public Form1().InitializeComponent();private void button1_Click(object sender, EventArgs e)./ 建立声音设备Microsoft.DirectX.DirectSound.Device dev =new Microsoft.DirectX.DirectSound.Device();dev.SetCooperativeLevel(this,Microsoft.DirectX.DirectSound.CooperativeLevel.Normal);/ 为声音建立二级缓冲区try.Microsoft.DirectX.DirectSound.SecondaryBuffer snd =new Microsoft.DirectX.DirectSound.SecondaryBuffer(“././NewDrums.wav“, dev);/ 播放声音snd.Play(0, Microsoft.DirectX.DirectSound.BufferPlayFlags.Default);catch (Exception ex).label1.Text = ex.ToString();本文来自 CSDN 博客,转载请标明出处:http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。