• 大小: 946KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: 其他
  • 标签: DirectShow  

资源简介

自己搞的网络视频传输~~基于DirectShow

资源截图

代码片段和文件信息

/****************************************************************************
While the underlying libraries are covered by LGPL this sample is released 
as public domain.  It is distributed in the hope that it will be useful but 
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
or FITNESS FOR A PARTICULAR PURPOSE.  
*****************************************************************************/

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Collections;
using System.Runtime.InteropServices;
using System.Threading;
using System.Diagnostics;
using System.Windows.Forms;

using DirectShowLib;


namespace NetPeerCon
{
    ///  Summary description for MainForm. 
    internal class Capture : ISampleGrabberCB IDisposable
    {
        #region Member variables

        ///  graph builder interface. 
        private IFilterGraph2 m_FilterGraph = null;
        private IMediaControl m_mediaCtrl = null;

        ///  so we can wait for the async job to finish 
        private ManualResetEvent m_PictureReady = null;

        ///  Set by async routine when it captures an image 
        private volatile bool m_bGotOne = false;

        ///  Indicates the status of the graph 
        private bool m_bRunning = false;

        ///  Dimensions of the image calculated once in constructor. 
        private IntPtr m_handle = IntPtr.Zero;
        private int m_videoWidth;
        private int m_videoHeight;
        private int m_stride;
        public int m_Dropped = 0;

        #endregion

        #region API

        [DllImport(“Kernel32.dll“ EntryPoint = “RtlMoveMemory“)]
        private static extern void CopyMemory(IntPtr Destination IntPtr Source int Length);

        #endregion

        ///  Use capture device zero default frame rate and size
        public Capture()
        {
            _Capture(0 0 0 0);
        }
        ///  Use specified capture device default frame rate and size
        public Capture(int iDeviceNum)
        {
            _Capture(iDeviceNum 0 0 0);
        }
        ///  Use specified capture device specified frame rate and default size
        public Capture(int iDeviceNum int iframeRate)
        {
            _Capture(iDeviceNum iframeRate 0 0);
        }
        ///  Use specified capture device specified frame rate and size
        public Capture(int iDeviceNum int iframeRate int iWidth int iHeight)
        {
            _Capture(iDeviceNum iframeRate iWidth iHeight);
        }
        ///  release everything. 
        public void Dispose()
        {
            CloseInterfaces();
            if (m_PictureReady != null)
            {
                m_PictureReady.C

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-04-19 06:00  NetPeerCon\
     目录           0  2011-04-19 11:45  NetPeerCon\NetPeerCon\
     文件         872  2011-04-19 06:00  NetPeerCon\NetPeerCon.sln
     文件       26112  2011-04-19 12:24  NetPeerCon\NetPeerCon.suo
     目录           0  2011-04-19 09:58  NetPeerCon\NetPeerCon\bin\
     目录           0  2011-04-19 12:16  NetPeerCon\NetPeerCon\bin\Debug\
     文件      282624  2007-07-29 17:15  NetPeerCon\NetPeerCon\bin\Debug\DirectShowLib-2005.dll
     文件      104960  2011-04-19 12:15  NetPeerCon\NetPeerCon\bin\Debug\NetPeerCon.exe
     文件       73216  2011-04-19 12:15  NetPeerCon\NetPeerCon\bin\Debug\NetPeerCon.pdb
     文件       11600  2011-04-19 11:53  NetPeerCon\NetPeerCon\bin\Debug\NetPeerCon.vshost.exe
     文件         490  2010-03-17 22:39  NetPeerCon\NetPeerCon\bin\Debug\NetPeerCon.vshost.exe.manifest
     目录           0  2011-04-19 11:47  NetPeerCon\NetPeerCon\bin\Release\
     文件      282624  2007-07-29 17:15  NetPeerCon\NetPeerCon\bin\Release\DirectShowLib-2005.dll
     文件      102912  2011-04-19 11:47  NetPeerCon\NetPeerCon\bin\Release\NetPeerCon.exe
     文件       56832  2011-04-19 11:47  NetPeerCon\NetPeerCon\bin\Release\NetPeerCon.pdb
     文件       11600  2011-04-19 11:47  NetPeerCon\NetPeerCon\bin\Release\NetPeerCon.vshost.exe
     文件         490  2010-03-17 22:39  NetPeerCon\NetPeerCon\bin\Release\NetPeerCon.vshost.exe.manifest
     文件       14707  2011-04-19 11:47  NetPeerCon\NetPeerCon\Capture.cs
     文件        6736  2011-04-19 12:17  NetPeerCon\NetPeerCon\Form1.cs
     文件        9712  2011-04-19 12:06  NetPeerCon\NetPeerCon\Form1.Designer.cs
     文件      119336  2011-04-19 12:06  NetPeerCon\NetPeerCon\Form1.resx
     文件        3119  2007-01-28 02:39  NetPeerCon\NetPeerCon\icony.JPG
     文件       75242  2007-01-28 02:38  NetPeerCon\NetPeerCon\ip.jpg
     文件        4558  2011-04-19 11:47  NetPeerCon\NetPeerCon\NetPeerCon.csproj
     目录           0  2011-04-19 06:00  NetPeerCon\NetPeerCon\obj\
     目录           0  2011-04-19 11:47  NetPeerCon\NetPeerCon\obj\x86\
     目录           0  2011-04-19 12:15  NetPeerCon\NetPeerCon\obj\x86\Debug\
     文件        2152  2011-04-19 06:00  NetPeerCon\NetPeerCon\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
     文件        6711  2011-04-19 12:15  NetPeerCon\NetPeerCon\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     文件         616  2011-04-19 12:06  NetPeerCon\NetPeerCon\obj\x86\Debug\GenerateResource.read.1.tlog
     文件         670  2011-04-19 12:06  NetPeerCon\NetPeerCon\obj\x86\Debug\GenerateResource.write.1.tlog
............此处省略29个文件信息

评论

共有 条评论