文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发VBVB中使用DirectX库的简明教程
精品推荐
特别推荐
·VB表格控件总览与例程分析
·用VB6.0制作画图板
·VB打造超酷个性化菜单(六)
·MSHFlexGrid 控件的应用
·Visual Basic 控件简介
·利用硬盘序列号计算软件注册码
·计算机等级考试二级VB常用算法:排序
·用diskid.dll和disk32.dll获得硬盘序列号
·VB6中使用Winsock穿越各种代理的实现
·在VFP、VB应用程序中激活鼠标功能
热点TOP10
·vb 高手搜集-常见问题总结(1)
·vb高手搜集-常见问题总结(3)
·自己动手做一个数学函数作图器
·利用VB6.0实现五线谱作曲工具
·VB实现程序的隐形
·vb高手搜集-常见问题总结(2)
·vb高手搜集-常见问题总结4(终章)
·Visual Basic通信程序设计
·用VB编写记事本
·窗体控件大小随窗体大小变化而变化

VB中使用DirectX库的简明教程

日期:2008年3月20日 作者: 查看:[大字体 中字体 小字体]



  DirectSound对象和DirectSoundCapture对象是DirectSound类对象的基本对象,DirectSound对象是音频播放基本对象,而DirectSoundCapture对象是音频捕捉基本对象。利用DirectX7对象的DirectSoundCreate方法和DirectSoundCaptureCreate方法可以分别建立DirectSound对象和DirectSoundCapture对象。

  DirectSoundBuffer对象和DirectSound3Dbuffer是音频播放缓冲对象,顾名思义,前者是音频播放对象,而后者是三维音频播放对象。Direct3DSoundListner对象用于设置播放三维音频时收听者所处的位置。

  下面通过一个程序来介绍DirectSound的应用,这个程序可以利用DirectSound3DBuffer播放文件并可以动态的设置声音位置。首先建立一个工程文件,在其中加入DirectX7说明库,然后在Form1中加入一个PictureBox控件和两个CommandButton控件。将Picture1的Width和Height属性都设置为3000。将Picture1的Scale属性设置为3-Pixel。保存工程文件,并在工程所在的目录下放置一个名为 Demo.wav 的声音文件。在Form1的代码窗口加入以下代码:

Dim m_dx As New DirectX7

Dim m_ds As DirectSound
Dim m_dsBuffer As DirectSoundBuffer
Dim m_ds3dBuffer As DirectSound3DBuffer
Dim m_dsPrimaryBuffer As DirectSoundBuffer
Dim m_dsListener As DirectSound3DListener
Dim m_pos As D3DVECTOR

Sub DrawPositions()
Dim X As Integer
Dim z As Integer

Picture1.Cls

'以黑色圈标出收听者所在的位置
Picture1.Circle (Picture1.ScaleWidth / 2, Picture1.ScaleHeight / 2), 4

'以红色圈标出声音所在的位置
X = CInt(m_pos.X) + Picture1.ScaleWidth / 2
z = CInt(m_pos.z) + Picture1.ScaleHeight / 2
Picture1.Circle (X, z), 4, RGB(255, 0, 0)
End Sub

Sub Load(sFile As String)
Dim bufferDesc1 As DSBUFFERDESC
Dim waveFormat1 As WAVEFORMATEX

'设置将建立的DirectSoundBuffer对象的属性
bufferDesc1.lFlags = (DSBCAPS_CTRL3D Or DSBCAPS_CTRLFREQUENCY Or _
DSBCAPS_CTRLPAN Or DSBCAPS_CTRLVOLUME) Or DSBCAPS_STATIC
'建立DirectSoundBuffer对象
Set m_dsBuffer = m_ds.CreateSoundBufferFromFile(sFile, bufferDesc1, _
waveFormat1)
'设置DirectSoundBuffer对象的声音(0为最大)
m_dsBuffer.SetVolume 0
'设置DirectSoundBuffer对象
Set m_ds3dBuffer = m_dsBuffer.GetDirectSound3DBuffer

'设置DirectSoundBuffer对象的播放方向属性
m_ds3dBuffer.SetConeOrientation 1, 1, 1, DS3D_IMMEDIATE
m_ds3dBuffer.SetConeAngles DS3D_MINCONEANGLE, 100, DS3D_IMMEDIATE
m_ds3dBuffer.SetConeOutsideVolume -100, DS3D_IMMEDIATE

'设置DirectSoundBuffer对象的播放位置属性
m_ds3dBuffer.SetPosition m_pos.X / 50, 0, m_pos.z / 50, DS3D_IMMEDIATE
End Sub

Sub UpdatePosition(X As Single, z As Single)
m_pos.X = X - Picture1.ScaleWidth / 2
m_pos.z = z - Picture1.ScaleHeight / 2

DrawPositions

If m_ds3dBuffer Is Nothing Then Exit Sub
'重新设置DirectSoundBuffer对象的播放位置属性
m_ds3dBuffer.SetPosition m_pos.X / 50, 0, m_pos.z / 50, DS3D_IMMEDIATE
End Sub

Private Sub Command1_Click()
If m_dsBuffer Is Nothing Then
Call Load(App.Path + "\demo.wav")

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] 下一页 




上一篇:用VB6.0设计一个打字练习软件

下一篇:VB+VC混合编程疑难问题解

相关文章:
·全方位性爱教程大全
·photoshop修改照片成为美女教程
·为什么iexplore.exe在打开网页时CPU使用会100%?
·溯雪使用说明
·键盘的使用与指法训练
·Flash AS基础精典教程
·GHOST使用方法(图解)
·Firefox 使用常见问题和解决方法
·注册表应用100例—注册表使用全攻略之十一
·Vista系统使用技巧总结
相关软件:
·刘天礼 吉他视频教程
·黑客视频教程 VMware虚拟机的安装和使用
·大师之路Photoshop教程V2.0
·脱壳二十课视频教程(破解爱好者福音)集合版
·黑客视频教程-灰鸽子远控使用教程
·孙鑫vc++视频教程
·孙鑫VC++从入门到精通开发详解视频教程FLASH版
·使用GPMC随心所欲管理组策略
·美工设计教程
·Photoshop 入门教程

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot