转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
VB.NET 实现DirectSound9 (5) DS3D2         ★★★★

VB.NET 实现DirectSound9 (5) DS3D2

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2366 更新时间:2009/4/23 19:00:43
0~100"
        ''''
        ''''TextBox1
        ''''
        Me.TextBox1.Location = New System.Drawing.Point(24, 128)
        Me.TextBox1.Name = "TextBox1"
        Me.TextBox1.TabIndex = 7
        Me.TextBox1.Text = "0.0"
        ''''
        ''''TextBox2
        ''''
        Me.TextBox2.Location = New System.Drawing.Point(24, 184)
        Me.TextBox2.Name = "TextBox2"
        Me.TextBox2.TabIndex = 8
        Me.TextBox2.Text = "0.0"
        ''''
        ''''TextBox3
        ''''
        Me.TextBox3.Location = New System.Drawing.Point(24, 240)
        Me.TextBox3.Name = "TextBox3"
        Me.TextBox3.TabIndex = 9
        Me.TextBox3.Text = "0.9"
        ''''
        ''''TextBox4
        ''''
        Me.TextBox4.Location = New System.Drawing.Point(24, 296)
        Me.TextBox4.Name = "TextBox4"
        Me.TextBox4.TabIndex = 10
        Me.TextBox4.Text = "20.0"
        ''''
        ''''Label5
        ''''
        Me.Label5.Location = New System.Drawing.Point(8, 328)
        Me.Label5.Name = "Label5"
        Me.Label5.TabIndex = 11
        Me.Label5.Text = "Y轴"
        ''''
        ''''TextBox5
        ''''
        Me.TextBox5.Location = New System.Drawing.Point(24, 352)
        Me.TextBox5.Name = "TextBox5"
        Me.TextBox5.TabIndex = 12
        Me.TextBox5.Text = "0.0"
        ''''
        ''''Label6
        ''''
        Me.Label6.Location = New System.Drawing.Point(152, 16)
        Me.Label6.Name = "Label6"
        Me.Label6.Size = New System.Drawing.Size(424, 24)
        Me.Label6.TabIndex = 13
        Me.Label6.Text = "Label6"
        ''''
        ''''Form1
        ''''
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.ClientSize = New System.Drawing.Size(720, 501)
        Me.Controls.Add(Me.Label6)
        Me.Controls.Add(Me.TextBox5)
        Me.Controls.Add(Me.Label5)
        Me.Controls.Add(Me.TextBox4)
        Me.Controls.Add(Me.TextBox3)
        Me.Controls.Add(Me.TextBox2)
        Me.Controls.Add(Me.TextBox1)
        Me.Controls.Add(Me.Label4)
        Me.Controls.Add(Me.Label3)
        Me.Controls.Add(Me.Label2)
        Me.Controls.Add(Me.Label1)
        Me.Controls.Add(Me.PictureBox1)
        Me.Controls.Add(Me.Button2)
        Me.Controls.Add(Me.Button1)
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.ResumeLayout(False)

    End Sub

#End Region

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ''''''''''''加载的时候初始化一下PictureBox,把它变成黑色(没有颜色)
        PictureBox1_DoubleClick(0, Nothing)
    End Sub

    Sub initDirectSound()
        ''''''''加载DirectSound设备以及读取wav文件
        ''''设置3D模式
        Dim DSMode As Guid
        DSMode = DSoundHelper.Guid3DAlgorithmHrtfFull       ''''由于为了演示3D效果,所以用最高模式
        ''''关联窗体
        Dev = New Device
        Dev.SetCooperativeLevel(Me.Handle, CooperativeLevel.Priority)
        ''''''''加载wav ''''''''''''注释掉了,原来测试用的
        ''''Dim TmpDesc As New BufferDescription
        ''''TmpDesc.Guid3DAlgorithm = DSMode
        ''''TmpDesc.Control3D = True
        ''''SBuff = New SecondaryBuffer(FN, TmpDesc, Dev)

        ''''格式有比较严格的限制
        Dim fmt As New WaveFormat
        fmt.FormatTag = WaveFormatTag.Pcm
        fmt.Channels = 2
        fmt.SamplesPerSecond = 22050
        fmt.BitsPerSample = 16
        fmt.BlockAlign = CShort(fmt.BitsPerSample / 8 * fmt.Channels)
        fmt.AverageBytesPerSecond = fmt.SamplesPerSecond * fmt.BlockAlign
        ''''创建描述
        descBuff = New BufferDescription
        ''''descBuff.ControlVolume = True
        descBuff.Control3D = True
        ''''descBuff.GlobalFocus = True
        ''''descBuff.StaticBuffer = True
        ''''descBuff.LocateInHardware = True
        descBuff.PrimaryBuffer = True
        descBuff.Format = fmt
        ''''descBuff.Guid3DAlgorithm = DSMode
        ''''''''''''以上可以自己去掉注释尝试一下,某些时候当Primary打开的时候,其他的不能用,有冲突,尤其是后面几个
        ''''创建主缓冲
        Try
            ''''''''''''捕获一下,防止descript的描述不正确(就是参数设置的不对)
            Buff = New Buffer(descBuff, Dev)
        Catch ex As Exception
            MsgBox(ex.Message)
            End   ''''不对的话,就没有必要继续了
        End Try
        ''''创建听众
        Listenner = New Listener3D(Buff)
        ListennerSet = Listenner.AllParameters   ''''使用主缓冲听众的设置

        ''''''''WAV
        Dim tmpDesc2 As New BufferDescription
        tmpDesc2.Guid3DAlgorithm = DSMode
        tmpDesc2.Control3D = True
        '''''''''''' 这里必须借助辅助缓冲给主缓冲提供实例,不知道微软怎么想的,也可能是我学艺不精,怎么尝试都要这样用
        Buff = New SecondaryBuffer(FN, tmpDesc2, Dev)

        ''''创建3D缓冲区
        Buff3D = New Buffer3D(Buff)
        Buff3DSet = Buff3D.AllParameters        ''''使用默认的设置
        Buff3DSet.Mode = Mode3D.HeadRelative    ''''改变一个参数
        Buff3D.AllParameters = Buff3DSet        ''''应用新的设置

        MsgBox("已经读取" + FN)
      &

上一页  [1] [2] [3]  下一页


[Web开发]VS2005+SQL2005之.NET2.0数据库连接  [常用软件]公共场所慎用Foxmail5 以防泄露隐私
[VB.NET程序]定制VB.NET控件编程之拦截击键动作  [VB.NET程序]VB.NET VS C#.
[VB.NET程序]VB.NET 中调用浏览目录对话框  [VB.NET程序]VB.NET and C# 语法比较手册
[VB.NET程序]VB.NET 拖动无边框的窗体  [VB.NET程序]C# to VB.NET 翻译器
[VB.NET程序]101 VB.NET Applications 读书笔记(1)  [VB.NET程序]vb.net 程序设计规范(1)
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台