111,116
社区成员




Encoder = new WMEncoder();
//Encoder.OnStateChange += new IWMEncoderEvents_OnStateChangeEventHandler(OnStateChange);
IWMEncSourceGroupCollection SrcGrpColl = Encoder.SourceGroupCollection;
IWMEncSourceGroup SrcGrp = SrcGrpColl.Add("SG_1");
IWMEncSource SrcAud =SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_AUDIO);
IWMEncVideoSource2 SrcVid =(IWMEncVideoSource2)SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_VIDEO);
SrcVid.SetInput(CB_VideoCapture.SelectedItem.ToString(), "Device", "");//捕捉摄像机
//SrcVid.SetInput("ScreenCapture1", "ScreenCap", ""); //如果使用屏幕捕捉
//SrcVid.SetInput("E:\\My Files Back\\WMV_Test\\Source\\test12.avi", "", "");//文件播放
SrcAud.SetInput(CB_AudioCapture.SelectedItem.ToString(), "Device", "");
if (checkBox1.Checked)
{
IWMEncFile File = Encoder.File;
File.LocalFileName = "E:\\My Files Back\\WMV_Test\\File\\test.wmv";
}
else
{
}
IWMEncProfileCollection ProColl = Encoder.ProfileCollection;
IWMEncProfile Pro;
for (int i = 0; i < ProColl.Count; i++)
{
Pro = ProColl.Item(i);
if (Pro.Name == CB_ProColl.Text.ToString().Trim())
{
SrcGrp.set_Profile(Pro);
break;
}
}
WMEncDataView Preview = new WMEncDataView();
IWMEncDataViewCollection DVColl_preview = SrcVid.PreviewCollection;
int lpreviewStream = DVColl_preview.Add(Preview);
Encoder.PrepareToEncode(true);
Encoder.Start();
Preview.SetViewProperties(lpreviewStream, (int)Panel_Preview.Handle);
Preview.StartView(lpreviewStream);