C#开源录音组件、录像组件、录屏组件及demo源码 | 您所在的位置:网站首页 › linux录音录像库 › C#开源录音组件、录像组件、录屏组件及demo源码 |
在多媒体系统中,一般都会涉及到录音、录像、录屏问题,采集得到的数据可以用来传输、播放、或存储。所以,对于像课件录制系统、语音视频录制系统、录屏系统等,多媒体数据的采集就是最基础的功能之一。 MCapture可用于采集本地摄像头拍摄到的图像、麦克风输入的声音、以及当前电脑桌面的图像。 一.MCapture 简介MCapture 组件录音、录像、录屏内部的核心技术包括以下3点: (1)摄像头采集:可指定摄像头的索引、摄像头视频的分辨率、采集的帧频。 (2)麦克风采集:可指定麦克风的索引。默认采样参数为 -- 采样位数:16bit,采样频率:16000,声道数:1。 (3)桌面屏幕采集:可指定采集的帧频、是全屏采集还是采集屏幕的某个矩形区域、是否显示鼠标光标。 二.C#录音组件、录像组件、录屏组件——MCapture 对于使用者而言,MFile组件中的主要类的结构图如下所示: (1)ICameraCapturer是摄像头视频采集组件;IMicrophoneCapturer是麦克风声音采集组件;IDesktopCapturer 是屏幕桌面采集组件。它们都集成自ICapture基础接口。 (2)我们可以通过调用CapturerFactory的CreateXXXX方法来创建对应的采集器实例。 (3)得到采集器实例后,调用Start方法,即可开始采集;调用Stop方法,即停止采集。 (4)采集得到的数据,将通过相应的事件(ImageCaptured、AudioCaptured)暴露出来,我们预定这些事件,即可拿到采集的数据。 三.使用接口详细定义 1.各采集器接口 ![]() ![]() 要特别提醒的是: (1)ICapture接口的CaptureError事件,当采集的过程中出现错误时,将触发此事件,并且,采集过程会终止。 (2)针对视频和桌面采集,ImageCaptured会暴露出采集得到的视频帧(Bitmap),当该视频帧使用完毕后,要立即调用其Dispose方法,以释放其占用的内存(而不要等到GC自动回收)。
2.采集器工厂 ![]() ![]() 四.录音、录像、录屏源码 下面我们使用一个demo来介绍如何使用MCapture 组件,在这个demo中,我们直接将采集到的视频数据显示在主窗体上,如果是语音数据,则在界面显示采集得到的语音数据的长度。Demo 运行的截图如下所示: MCapture Demo 源码:MCaptureDemo.rar 如果是要实现录音、录像、录屏,可以将MCapture与我们的语音视频录制组件MFile相结合,来快速实现这一功能。 2015.6.18 整理全部相关开源源码如下:(声卡/麦克风/摄像头/屏幕)采集&录制源码源码:WinForm版本 、WPF版本。 声卡录制源码、 混音&录制源码、 同时录制(桌面+麦克风+声卡)源码、 麦克风摄像头录制(可预览) 录制画中画(桌面+摄像头+麦克风/声卡)。 远程录制或在服务器端录制语音视频屏幕 版权声明:本文为博主原创文章,未经博主允许不得转载。 |
CopyRight 2018-2019 实验室设备网 版权所有 |