C# windows media encoder编程 JPG与MP3制作WMV视频-windows media encoder sdk解决方案

来源:互联网 发布:百策早教管理软件 编辑:程序博客网 时间:2024/05/01 00:03

http://hi.baidu.com/xulei1143/blog/item/ed443ef44908b363dcc4742d.html

网上转载的,我测试成功了。

我是win7下面,程序有不少问题,有些需要修改的地方。

 

     微软的wmencoder sdk支持将图片/视频转换成标准的WMV文件.可以通过其提供的简单功能制作简单的视频.唯一遗憾的是SDK不提供转场效果,要做切换效果只能想别的办法了。该SDK支持VB,C++,C#的编码.

    环境: windows media encoder sdk,可在微软网站下载

    C#实现:

using ...;

using WMEncoderLib;
using WMPREVIEWLib;

private void MyEncoder() {
     try
     {
// 创建一个Windows Media Encoder对象.
WMEncoder Encoder = new WMEncoder();

//获取一个源的集合.
IWMEncSourceGroupCollection SrcGrpColl = Encoder.SourceGroupCollection;

//创建一个源"SG_1"
IWMEncSourceGroup2 SrcGrp = (IWMEncSourceGroup2)SrcGrpColl.Add("SG_1");

//创建一个音频和视频的源

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

//指定源文件
SrcAud.SetInput("C://jintian.mp3", "", "");//MP3
SrcVid.SetInput("C://result.wmv", "", "");//视频,可换成图片

//裁剪场景
SrcVid.CroppingBottomMargin = 25;
SrcVid.CroppingLeftMargin = 25;
SrcVid.CroppingRightMargin = 25;
SrcVid.CroppingTopMargin = 25;

//预览
IWMEncDataViewCollection DVColl_Postview;
DVColl_Postview = SrcVid.PostviewCollection;
WMEncDataView Postview;
Postview = new WMEncDataView();
int lPostviewStream;
lPostviewStream = DVColl_Postview.Add(Postview);

IWMEncProfileCollection ProColl = Encoder.ProfileCollection;
WMEncProfile2 Pro;
Pro = new WMEncProfile2();

//定义配置文件profile.具体的请看media encoder中的设置
/*for (int i = 0; i < ProColl.Count; i++)
{
      Pro = ProColl.Item(i);
      if (Pro.Name == "屏幕视频 - 高(CBR)")
      {*/
Pro.LoadFromFile("myPrx.prx");
   SrcGrp.set_Profile(Pro);
   /*break;
      }
}*/

   //输出到目的文件
IWMEncFile2 File = (IWMEncFile2)Encoder.File;
File.LocalFileName = "C://test.wmv";

//如果源是图片则需要取消如下的注释。因为图片是静止的,本身不会播放.开启广播模式将会使图片进行不间断广播,从而实现连续的录制
/*Encoder.PrepareToEncode(true);
IWMEncBroadcast Brdcst = Encoder.Broadcast;

Brdcst.set_PortNumber(WMENC_BROADCAST_PROTOCOL.WMENC_PROTOCOL_HTTP, 8080);
*/


Encoder.Start();//录制开始

Postview.SetViewProperties(lPostviewStream, (int)panel2.Handle);
Postview.StartView(lPostviewStream);

     MessageBox.Show("ok.");

     }

     catch (Exception e)
     {
MessageBox.Show(e.ToString());
     }


}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 黑衣服洗得发白怎么办 黑衣服洗后发白怎么办 黑裤子洗了发白怎么办 黑衣服旧了发白怎么办 黑色衣服洗白了怎么办 黑衣服洗了泛白怎么办 刚买的衣服掉色怎么办 棉质的衣服褪色怎么办 黑裤子晒掉色了怎么办 新买的衣服褪色怎么办 衣服洗了掉毛怎么办 衣服受潮长了斑点怎么办 黑色的衣服粘毛怎么办 黑衣服容易粘毛怎么办 衣服上粘了毛毛怎么办 黑衣服防止粘毛怎么办 洗黑色衣服掉毛怎么办 兔毛的衣服掉毛怎么办 带绒的衣服掉毛怎么办 黑裤子被84掉色怎么办 买的衣服掉毛怎么办 裤子穿久了泛亮怎么办 新买的裤子褪色怎么办 黑裤子掉毛严重怎么办 黑裤子洗完发白怎么办 新买羊绒衫掉毛怎么办 皮草毛卷起来了怎么办 小孩衣服洗不干净怎么办 衣服沾上钢笔水怎么办 羊绒衫洗了掉毛怎么办 白衬衫弄上墨水怎么办 羊毛衬衫洗错了怎么办 婚纱照拍的太丑怎么办 微信加人没反应怎么办 新买的毛毯有味怎么办 科二第一次练车怎么办 毛呢大衣起球了怎么办 毛呢衣服起球了怎么办 羊毛呢外套起球怎么办 毛呢外套起球了怎么办 呢子外套起球了怎么办