资源简介

DirectX.Capture操作摄像头录制视频拍照详细源码例子,内附ffdshow视频解码器安装包。视频压缩,还原较好

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.IO;
using ICameraDll.DirectX.Capture;
namespace ICameraDll
{
    public  class Camera : ICamera
    {
        private Capture capture;//摄像头录像操作
        private Filters filters = new Filters();//Filter集合
        public string stauts = “NoThing“;//当前状态,默认

        #region 属性

        private string logFilePath;
        private string logFileName;
        /// 
        /// 日志文件路径
        /// 

        public string LogFilePath
        {
            get
            {
                return logFilePath;
            }
            set
            {
                logFilePath = value;
            }
        }
        /// 
        /// 日志文件名
        /// 

        public string LogFileName
        {
            get
            {
                return logFileName;
            }
            set
            {
                logFileName = value;
            }
        }
        private string ImageFilePath;
        private string ImageFileName;
        #endregion

        #region 摄像头开始录制视频
        /// 
        /// 摄像头开始录制视频
        /// 

        /// 展现控件
        /// 视频存储路径
        /// 视频存储文件名
        /// 录像开启成功:1 录像开启失败:0,系统程序:-1,ffshow视频解码器不存在:2视像头录像正在录制:3
        public int StartRecording(Control videoControl string filePath string fileName)
        {
            var state = 0;
            //开始录制前判断摄像头是否在进行录像工作,工作时关掉它
            if (this.capture != null)
            {
                this.capture.Stop();
                this.capture.DisposeCapture();
                this.stauts = “NoThing“;
            }
            CameraManage cameraManage = new CameraManage(logFilePath logFileName);
            //当前不为录像状态时则开始录像
            if (!this.stauts.Equals(“Recing“))
            {
                //获取ffshow视频解码器索引
                var ffshowIndex = cameraManage.GetffshowIndex();
                if (ffshowIndex > 0)
                {
                    try
                    {
                        var Flie = filePath + fileName;
                        cameraManage.CreatFile(Flie);
                        this.capture = new Capture(new Filters().VideoInputDevices[0] null);//实例化视像头对象
                        this.capture.PreviewWindow = videoControl;//设置承载控件
                        this.capture.VideoCompressor = this.filters.VideoCompressors[ffshowIndex];//设置视频解码器
                        this.capture.Filename = Flie;//设置要保存的文件路径和文件名,格式例如d:\\ssss.avi
                        this.capture.frameRate = 15;//设置帧
                        this.capture.frameSize = new Size(320 240);//设置视频分辨率
                        this.capture.Start();//开启录制
                        this.s

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-03-25 17:50  WinFormCameraDemo\
     目录           0  2013-03-25 15:17  WinFormCameraDemo\WinFormCameraDemo\
     目录           0  2013-03-25 15:17  WinFormCameraDemo\WinFormCameraDemo\DLL\
     文件       61440  2010-08-11 17:32  WinFormCameraDemo\WinFormCameraDemo\DLL\DShowNET.dll
     目录           0  2013-03-25 09:27  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\
     目录           0  2013-03-22 14:55  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\bin\
     目录           0  2013-03-25 17:49  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\bin\Debug\
     文件       61440  2010-08-11 17:32  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\bin\Debug\DShowNET.dll
     文件       50688  2013-03-25 17:49  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\bin\Debug\ICameraDll.dll
     文件      144896  2013-03-25 17:49  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\bin\Debug\ICameraDll.pdb
     目录           0  2013-03-22 14:55  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\bin\Release\
     文件        8632  2013-03-25 16:28  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\Camera.cs
     文件        3552  2013-03-25 17:49  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\CameraManage.cs
     目录           0  2013-03-25 09:28  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\
     目录           0  2013-03-25 09:28  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\
     文件        3331  2013-03-25 09:29  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\AudioCapabilities.cs
     文件        1731  2013-03-25 09:28  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\AudioSource.cs
     文件       46866  2013-03-25 11:49  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\Capture.cs
     文件       30042  2013-03-25 11:22  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\CPlay.cs
     文件        4562  2013-03-25 09:28  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\CrossbarSource.cs
     文件         332  2013-03-25 09:29  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\DeviceInUseException.cs
     文件        1959  2013-03-25 09:29  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\DirectShowPropertyPage.cs
     文件        4833  2013-03-25 09:32  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\Filter.cs
     文件        2395  2013-03-25 15:29  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\FilterCollection.cs
     文件         567  2013-03-25 09:29  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\Filters.cs
     文件         809  2013-03-25 09:29  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\PropertyPage.cs
     文件        7280  2013-03-25 09:29  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\PropertyPageCollection.cs
     文件         916  2013-03-25 09:29  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\Source.cs
     文件        7823  2013-03-25 09:29  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\SourceCollection.cs
     文件        2649  2013-03-25 09:30  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\Tuner.cs
     文件         145  2013-03-25 09:29  WinFormCameraDemo\WinFormCameraDemo\ICameraDll\DirectX\Capture\TunerInputType.cs
............此处省略53个文件信息

评论

共有 条评论