c#播发声音的几种方法

来源:互联网 发布:混血失败知乎 编辑:程序博客网 时间:2024/05/14 07:01

 一、利用DirectX (这里提供了两种方法)

  这种方法需要安装了DirectX SDK(有9个DLL文件),如果没有可以到网上找。里面提供了两种播放音乐的方法:

   1、利用设备缓存区播发,这里主要涉及到的对象有:

      Microsoft.DirectX.DirectSound.DevicesCollection对象     --获取机器声卡集合

      Microsoft.DirectX.DirectSound.DeviceInformation对象    --声卡

      Microsoft.DirectX.DirectSound.BufferDescription对象      --开辟主缓存区

      Microsoft.DirectX.DirectSound.SecondaryBuffer对象        --设置第二缓存区

 

 2、利用Microsoft.DirectX.AudioVideoPlayback.Audio对象播放

          

二、利用Microsoft speech object Library

          

三、引用SoundPlayer

         

四、利用Windows Media Player

      新建一个C#的Windows Form工程(Windows应用程序),并且定义两个菜单按钮(menuItem1,menuItem2)。

  选择菜单中的“工具”中的“自定义工具箱(添加/移除工具箱项)”,在自定义工具箱的窗口中,点击展开“COM 组件”项,选中“Window Media Player”选项。确定后在“工具箱”中便会出现“Windows Media Player”这一项,然后再将其拖至Form上,调整大小,系统在“引用”中自动加入了对此dll的引用,AxMediaPlayer就是我们使用的Namespace与class。

  在属性栏中设置好此控件的一些属性,为了方便,这里我把AutoStart设置成为true(其实默认是true),只要FileName被设置(打开了文件),则文件将会自动播放。完整代码如下:

       

这里使用的是微软的播放器,大家也可以试试Winamp的控件,如果你只需要播放声音而不需要显示,你只要把AxMediaPlayer的Visible属性设置为false就可以了

原创粉丝点击