C# 检测机器是否有声卡设备

  有时候我们的程序需要进行音频的播放,则我们首先需要判断机器是否有声卡能够进行音频的播放。在网上找了一下没有发现太多关于如何检机器是否有声卡的例子。我在看了一些文档后自己写了一个小测试程序,如果机器装有.Net FrameWork 则可以使用如下代码:

class Program
    {
        static void Main(string[] args)
        {
            //测试机器声卡数量
            try
            {

                if (waveOutGetNumDevs() > 0 && midiOutGetNumDevs() > 0)
                {
                    Console.WriteLine("声卡设备已经安装");
                }
                else
                {
                    Console.WriteLine("未安装声卡设备");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("声卡检测失败,失败信息: "+ex.Message );
            }

        }

        [DllImport("Winmm.dll", CharSet = CharSet.Auto)]
        public static extern int waveOutGetNumDevs();
        [DllImport("Winmm.dll", CharSet = CharSet.Auto)]
        public static extern int midiOutGetNumDevs();
    }

  当然这段代码首先是需要Winmm.dll是正常的才行,关于Winmm.dll的更多了解,可以查看百度里面关于Winmm.dll的介绍

  我只是一个菜鸟,如果您有更好的方式方法,欢迎交流!O(∩_∩)O~

原文地址:https://www.cnblogs.com/ITCommunication/p/4039280.html