用c#实现屏幕录像功((成功)

来源:互联网 发布:局域网网管软件 编辑:程序博客网 时间:2024/06/04 22:10

using WMEncoderLib;
using WMPREVIEWLib;
using System.IO;

WMEncoder Encoder;
private void Form1_Load(object sender, System.EventArgs e)
{
Encoder = new WMEncoder();
IWMEncSourceGroup  SrcGrp;
IWMEncSourceGroupCollection SrcGrpColl;
SrcGrpColl = Encoder.SourceGroupCollection;
SrcGrp = SrcGrpColl.Add("SG_1");

IWMEncSource  SrcVid;
IWMEncSource  SrcAud;
SrcVid = SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_VIDEO);
SrcAud = SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_AUDIO);


SrcAud.SetInput("Default_Audio_Device", "Device", "");
SrcVid.SetInput("ScreenCapture1", "ScreenCap", "");


IWMEncProfileCollection ProColl;
IWMEncProfile Pro;
int i;
long lLength;

ProColl = Encoder.ProfileCollection;
lLength = ProColl.Count;

for( i=0 ; i <lLength-1 ; i++ )
{
Pro = ProColl.Item(i);
if( Pro.Name == "Windows Media Video 8 for Local Area Network (384 Kbps)" )
{
SrcGrp.set_Profile(Pro);
break;
}
}

IWMEncDisplayInfo Descr;
Descr = Encoder.DisplayInfo;
Descr.Author = "Armoghan Asif";
Descr.Copyright = "Copyright information";
Descr.Description = "Text description of encoded content";
Descr.Rating = "Rating information";
Descr.Title = "Title of encoded content";

IWMEncAttributes Attr;
Attr = Encoder.Attributes;
Attr.Add("URL", "www.adnare.com");

IWMEncFile File;
File = Encoder.File;
File.LocalFileName = @"C:/OutputFile.avi";
//SrcVid.CroppingBottomMargin = 2;
//SrcVid.CroppingTopMargin = 2;
//SrcVid.CroppingLeftMargin = 2;
//SrcVid.CroppingRightMargin = 2;


Encoder.Start();
}

private void button1_Click(object sender, System.EventArgs e)
{
this.Encoder.Stop();

//if( Encoder.RunState )
//{
//Encoder.Stop();
//Application.Exit();
//}
}