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)
|