Windows Media Encode 9简介及SDK
Windows Media Encode 9是Windows Media 9 Series组成部分之一,它的主要作用是进行编码。Windows Media 9 Series包括了 Windows Media Audio 9 Series、Windows Media Video 9 Series、Windows Media Encoder 9 Series、Windows Media Services 9 Series、Windows Media Player 9 Series、Windows Media Rights Manager 9 Series、Windows Media 9 Series SDK。基于这个平台,开发者可以利用播放器、解码器以及服务器端配合开发出数字媒体应用程序,通过与Windows 家族的最新成员:Windows XP Media Center Edition配合,相信能给用户带来更流畅的数码娱乐享受。
以上是微软的一些产品,微软提供给我们,让我们可以进行开发的是Windows Media 9 SDK。SDK是软件开发工具包Software Develop Kits。Windows Media 9 SDK主要包括Windows Media Player SDK、Windows Media Format SDK、Windows Media Rights Manager SDK、Windows Media Encoder SDK、Windows Media Services SDK。
try
{
// 创建WMEncoder object.
WMEncoder Encoder = new WMEncoder();
//获得组源集合
IWMEncSourceGroupCollection SrcGrpColl = Encoder.SourceGroupCollection;

//向集合中增加一个组源
IWMEncSourceGroup SrcGrp = SrcGrpColl.Add("SG_1");

//向组源中增加一个音频源和视频源
IWMEncSource SrcAud = SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_AUDIO);
SrcAud.SetInput("C:\\爱就爱了.rm", "", "");

IWMEncVideoSource2 SrcVid = (IWMEncVideoSource2)SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_VIDEO);
SrcVid.SetInput("C:\\爱就爱了.rm", "", "");

//制定一个输出文件
IWMEncFile File = Encoder.File;
File.LocalFileName = "C:\\OutputFile.wmv";

//装载配置文件
WMEncProfile2 Pro = new WMEncProfile2();
Pro.LoadFromFile("c:\\schi.prx");
SrcGrp.set_Profile(Pro);
//增加文件描述信息
IWMEncDisplayInfo Descr = Encoder.DisplayInfo;
Descr.Author = "Author name";
Descr.Copyright = "Copyright information";
Descr.Description = "Text description of encoded content";
Descr.Rating = "Rating information";
Descr.Title = "Title of encoded content";

IWMEncAttributes Attr = Encoder.Attributes;
Attr.Add("URL", "IP address");
//开始编码处理
Encoder.PrepareToEncode(true);
Encoder.Start();
MessageBox.Show("It's OK");

}
catch (Exception e1)
{
MessageBox.Show(e1.Message+e1.StackTrace);
}

以上是微软的一些产品,微软提供给我们,让我们可以进行开发的是Windows Media 9 SDK。SDK是软件开发工具包Software Develop Kits。Windows Media 9 SDK主要包括Windows Media Player SDK、Windows Media Format SDK、Windows Media Rights Manager SDK、Windows Media Encoder SDK、Windows Media Services SDK。
我们可以使用Windows Media Encoder SDK开发自己的编码应用。微软的Windows Media Encoder(Windows Media 编码器)就是使用Windows Media Encoder SDK进行开发的。编码应该如何理解呢?或者说编码器应该具有什么功能呢?将设备或者文件中的流媒体采集到并按照微软的媒体格式进行编码,并输出,这就是编码器的作用。用更加执白的话说就是采集、格式转换、压缩。Windows Media Encoder的源可以是设备也可以是文件,设备可以是屏幕或者摄像头或者其他的视频、音频设备,文件可以是视频文件、音频文件。Windows Media Encoder的输出可以将内容编码到文件,也可以对内容进行实况广播。如果要进行广播,既可以通过推传递(在客户端没有请求数据的情况下传递)将流传输到运行 Windows Media Services 的服务器上,也可以允许 Windows Media 服务器和播放机通过拉传递(仅在客户端发出请求时将数据传递给客户)直接从编码器接收流。
Windows Media Encoder SDK不会和Windows Media Encoder一起安装,需要单独下载,Windows Media Encoder SDK中安装了一些示例和帮助文件。Windows Media Encoder SDK以COM组件的方式提供服务,可以参考wmencsdk.chm的内容。
下面以一个简单的例子来展示一下C#使用Windows Media Encoder SDK进行开发的情形。
















































【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)