日期:2014-05-17  浏览次数:20994 次

WinForm摄像头 录像 格式化问题
用的是 avicap32.dll 
我也是用的网上的方法,录像已经可以了。关键是我要设置分辨率。
别给我链接地址OK?

//=====================================================CAPSTATUS结构========================================================================
        //CAPSTATUS定义了捕获窗口的当前状态,如图像的宽、高等;
        [StructLayout(LayoutKind.Sequential)]
        public struct CAPSTATUS
        {
            public int uiImageWidth;                         //图像宽度
            public int uiImageHeight;                       //图像高度
            public bool fLiveWindow;                       //活动窗口标记,如果窗口正以预览的方式展示图像,那么该值为真
            public bool fOverlayWindow;                   //叠加窗口标志位,如果正在使用硬件叠加,则该位是真。
            public bool fScale;                          //输入所放标志位,如果窗口是正在缩放视频到客户区,那么该位是真。当使用硬件叠加时,改位无效。
            public Point ptScroll;                      //被展示在窗口客户区左上角的那个象素的x、y坐标偏移量。
            public bool fUsingDefaultPalette;          //默认调色板标志位,如果捕获窗口正在使用当前默认调色板,该值为真
            public bool fAudioHardware;               // 音频硬件标志位,如果系统已经安装了音频硬件,该值为真。
            public bool fCapFileExists;              //捕获文件标志位,如果一个捕获文件已经被创建,该值为真
            public int dwCurrentVideoFrame;         // 当前或最近流捕获过程中,所处理的桢的数目。包括丢弃的桢。
            public int dwCurrentVideoFramesDropped;//当前流捕获过程中丢弃的桢的数目。
            public int dwCurrentWaveSamples;      // # of wave samples cap'td
            public int dwCurrentTimeElapsedMS;   // 从当前流捕获开始计算,程序所用的时间,以毫秒为单位。
            public IntPtr hPalCurrent;          // 当前剪切板的句柄。
            public bool fCapturingNow;