项目需要,检测机器是否安装摄像头和麦克风,于是利用AForge和NAudio写了一个小实例,可以检测、获取控制硬件摄像头,扬声器,麦克风,有需要用的哪去,贴上部分代码。

源码下载地址:

检测、获取控制硬件摄像头,扬声器,麦克风的C#小实例-C#文档类资源-CSDN下载

#region 摄像头
        private FilterInfoCollection videoDevices;
        public bool isVideo = false;
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (!isVideo)
                {
                    //枚举视频输入设备
                    videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
                    if (videoDevices.Count == 0)
                    {
                        comboBox1.Items.Add("没有检测到视频设备!");
                        videoDevices = null;
                    }
                    foreach (FilterInfo device in videoDevices)
                    {
                        comboBox1.Items.Add(device.Name);
                        isVideo = true;
                    }
                    comboBox1.SelectedIndex = 0;
                    if (isVideo)
                        button3.Enabled = true;
                }
            }
            catch
            {
                comboBox1.Items.Add("没有视频设备!");
                videoDevices = null;
                comboBox1.SelectedIndex = 0;
            }
            button1.Enabled = false;
        }

private void videoSourcePlayer()
        {
            VideoCaptureDevice videoCapture = new VideoCaptureDevice(videoDevices[comboBox1.SelectedIndex].MonikerString);
#pragma warning disable CS0612 // 类型或成员已过时
            videoCapture.DesiredFrameSize = new Size(320, 240);
#pragma warning restore CS0612 // 类型或成员已过时
#pragma warning disable CS0612 // 类型或成员已过时
            videoCapture.DesiredFrameRate = 1;
#pragma warning restore CS0612 // 类型或成员已过时
            videoPlayer1.VideoSource = videoCapture;
            videoPlayer1.Start();
        }

private void button3_Click(object sender, EventArgs e)
        {
            videoSourcePlayer();
            button3.Enabled = false;
            button4.Enabled = true;
            button5.Enabled = true;
        }

private void button4_Click(object sender, EventArgs e)
        {
            if (videoPlayer1 == null)
                return;
            Bitmap bitmap = videoPlayer1.GetCurrentVideoFrame();
            saveFileDialog1.Filter = "Jpg 图片|*.jpg|Bmp 图片|*.bmp|Gif 图片|*.gif|Png 图片|*.png|Wmf  图片|*.wmf";
            saveFileDialog1.FilterIndex = 0;
            saveFileDialog1.RestoreDirectory = true;//保存对话框是否记忆上次打开的目录
            saveFileDialog1.CheckPathExists = true;//检查目录
            saveFileDialog1.FileName = System.DateTime.Now.ToString("yyyyMMddHHmmss") + "-"; ;//设置默认文件名
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                bitmap.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);// image为要保存的图片
                MessageBox.Show(this, "图片保存成功!", "信息提示");
            }
            bitmap.Dispose();
        }

private void button5_Click(object sender, EventArgs e)
        {
            videoPlayer1.SignalToStop();
            videoPlayer1.WaitForStop();
            button3.Enabled = true;
            button4.Enabled = false;
            button5.Enabled = false;            
        }
        #endregion

检测、获取控制硬件摄像头,扬声器,麦克风的C#小实例相关推荐

  1. 获取摄像头和麦克风权限_js获取浏览器摄像头和麦克风权限

    前言 项目中会使用到摄像头或麦克风设备,这就需要我们获取浏览器的摄像头和麦克风权限,权限是无法通过js操控的,必须由浏览器用户设置. 下面我来告诉大家如何获取浏览器的摄像头或麦克风的权限,使浏览器弹出 ...

  2. chrome无法打开摄像头和麦克风问题解决

    一.检测麦克风和摄像头是否被禁止了 检查原因分为两个检测: (1)检测电脑本身的摄像头和麦克风是否被禁止了 地址:chorme--设置--高级--网站管理--摄像头 / 麦克风 (2)检测你要访问的h ...

  3. 获取摄像头和麦克风权限_getUserMedia API及HTML5 调用摄像头和麦克风

    getUserMedia API简介 HTML5的getUserMedia API为用户提供访问硬件设备媒体(摄像头.视频.音频.地理位置等)的接口,基于该接口,开发者可以在不依赖任何浏览器插件的条件 ...

  4. 摄像头、麦克风、耳麦免费在线检测(各种外设的在线检测网站)

    分享一个挺好玩的网站,可以在线监测摄像头.麦克风.耳麦等外设检测:https://webcammictest.com/ 也可点此超链接直达:Webcam Test 文章目录 一.摄像头检测 1.镜子视 ...

  5. 获取摄像头和麦克风权限_APP在偷偷调用摄像头、麦克风?你有权知道谁在这么做...

    原标题:APP在偷偷调用摄像头.麦克风?你有权知道谁在这么做 当前,一些APP存在过度索取相机.照片.通讯录等敏感信息获取权限的问题,在生活中常常遇到.这些APP在你不知道的情况下在后台擅自调用敏感权 ...

  6. 获取摄像头和麦克风权限_Firefox--摄像头麦克风权限

    在自动化测试的过程中,可能会遇到来自浏览器的权限提示(摄像头.麦克风),今天,就讨论一下如何结局这个问题. 先来认识一下来自Firefox的权限提示,访问一个需要摄像头或者麦克风的网站 你可能觉得,一 ...

  7. vue 调用pc端本地摄像头、麦克风实现拍照、录视频、录音 并上传到服务器指定树文件夹

    vue 调用pc端本地摄像头.麦克风实现拍照.录视频.录音 并上传 自己写blog只是为了下次方便使用 过程确实很烦 ,自己摸索加各大网站cv查看 可以直接使用 1.调用摄像头拍照 录屏 首先是npm ...

  8. 极简Python:用opencv实现人脸检测,并用本地摄像头实现视频流的人脸识别

    文章目录 1. 图片人脸识别 2. 图片人脸检测+人眼检测 3. 视频流的人脸识别 包括图片级别的人脸检测和调用本地摄像头实现视频流级别的人脸识别. 废话不大多说,直接上代码,喜欢的同学可以收藏! 1 ...

  9. python和单片机的用处哪个大_用Python控制硬件1-Python控制硬件的几种方式

    首先开篇名义,为什么我要用Python来控制硬件,主要还是工作需要:作为嵌入式软件工程师(工业产品为主),需要一种灵活高效的控制方法,辅助产品设计测试.多年的比较尝试下来,Python是为数不多的胜出 ...

最新文章

  1. 编写 Debugging Tools for Windows 扩展,第 3 部分:客户端和回调 (windbg 插件 扩展)
  2. 关于Unity中场景的导入与导出(专题九)
  3. Python input 函数 - Python零基础入门教程
  4. DDL 操作数据表 查询表
  5. 云图说|华为HiLens云上管理平台 花样管理多种端侧设备
  6. 【Flink】Flink 1.12.2 Task的调度 源码
  7. 盒子模型(悬挂式布局)
  8. spring boot +spring security + jwt 实现认证模块
  9. 将JSON对象中的某个字段进行分组和排序(java实现)
  10. archlinux安装个简单桌面icewm
  11. java 定位打印_Java定位打印(Java location printing).doc
  12. oracle no expand,NO_EXPAND Hint性能优化一例
  13. python微控制器编程从零开始 pdf_Python微控制器编程从零开始
  14. android 点赞 1,Android自定义FloatingText仿点赞+1特效
  15. php源码后台密码被改了,帝国cms后台密码重置插件后台密码恢复找回密码工具
  16. 大师启动u盘pe系统装系统(Win03PE增强版)
  17. ArcEngine10 ecp 授权
  18. 云原生下的开发测试实践
  19. 分析classpath、path、JAVA_HOME的作用及JAVA环境变量配置(转发博客园)
  20. Java学习:MyEclipse下载以及安装步骤,详细贴图每一个步骤,包教包会

热门文章

  1. 网站图标(?不知道叫啥,反正是IE里网址左边的小图)和书签图标
  2. 延伸产业链推进水稻循环经济 国稻种芯集团谋定益海嘉里合作
  3. C++单元测试工具 ECUT
  4. js 获取input 中name值的问题
  5. SAP ABAP 查询结构树(TTREE)
  6. sigmoid函数是如何诞生的(最大熵原理)
  7. NOIP 过河问题 月黑风高的夜晚
  8. 未来,属于终身学习者
  9. 施耐德PLC如何实现组态监控和远程维护?
  10. html自定义字体demo,21.8.自定义字体