none
c# 中如何实现多个声卡同时播放不同的音乐(分区广播形式) RRS feed

  • 问题

  • 各位大侠,大家好,我请教个很菜的问题,就是在c#下,如何捕获多个声卡的声卡信息,并在选择声卡了相应的的声卡后,各块声卡能播放不同的音乐,就是类似于分区域广播的形式,希望能有具体示例代码描述,谢谢!
    2012年3月7日 1:07

答案

全部回复

  • Hi csharp 怎么实现多个声卡同时播放不同的音乐,

    欢迎来到C#论坛。

    在这种情况下,你可能需要用到DirectX中的DirectSound。以下是部分源自DirectX Manged Documentation的代码。

     using Microsoft.DirectX.DirectSound;
     public class wfEnum : System.Windows.Forms.Form
     private DevicesCollection myDevices = null;
     private struct myDeviceDescription
     {
     public DeviceInformation info;
     public override string ToString()
     {
     return info.Description;
     }
     public myDeviceDescription(DeviceInformation di)
     {
     info = di;
     }
     }
     public wfEnum()
     {
     // Retrieve the available DirectSound devices
     myDevices = new DevicesCollection();
     
    foreach (DeviceInformation dev in myDevices)
     {
     myDeviceDescription dd = new myDeviceDescription(dev);
     
    // Use DevicesCollection and DeviceInformation to query for devices.
     }
     

    此外,下面的例子或许也可以帮到您。

    http://www.codeproject.com/Articles/4889/A-full-duplex-audio-player-in-C-using-the-waveIn-w

    祝您愉快。


    Bob Shen [MSFT]
    MSDN Community Support | Feedback to us

    2012年3月8日 9:52
    版主
  • 谢谢你的回复!

    我可能没有表述清楚,具体就是说要实现在不同的区域,同时播放不同的背景音乐,(如,广场,娱乐区,休闲区,生活区等播放不同的音乐),也就是分区域的广播系统,估计就是要按照选择不同的声卡,播放不同的音乐吧,参考一下这个图,各位看看,怎么实现选中一个声卡播放一种音乐的区域广播系统,再次谢谢希望能给与回答!

    2012年3月9日 8:04
  • Hi csharp 怎么实现多个声卡同时播放不同的音乐,

    你可以从以下地址下载DirectX SDK, 里面有一些代码实例与你的问题相关,应该可以帮到你。

    http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6812


    Bob Shen [MSFT]
    MSDN Community Support | Feedback to us

    2012年3月12日 4:42
    版主
  • Hi csharp 怎么实现多个声卡同时播放不同的音乐,

    我暂时标记了一个回复作为答案,如果觉得它没有帮助你可以取消标记。


    Bob Shen [MSFT]
    MSDN Community Support | Feedback to us

    2012年3月19日 2:58
    版主