Chinaunix首页 | 论坛 | 博客
  • 博客访问: 405311
  • 博文数量: 159
  • 博客积分: 372
  • 博客等级: 一等列兵
  • 技术积分: 1693
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-13 17:05
个人简介

致力于图形处理和移动开发。

文章分类

全部博文(159)

文章存档

2014年(77)

2013年(67)

2012年(15)

我的朋友

分类: C/C++

2013-12-09 10:45:34

随着越来越多的人采用了最新的Windows操作系统,Microsoft Media Foundation正在迅速抬头。自发布以来, Media Foundation SDK便受到越来越多客户的亲睐。

LEADTOOLS v18包含了众多能处理核心的控件,如播放,捕获和转换等,此外,还包含一些视频和音频的特殊处理功能。LEADTOOLS中最流行、最灵活的转换就是视频转换回调,允许你直接访问原始视频数据。

下列代码显示播放视频文件并将帧作为JPEG保存至磁盘:

// Initialize the Callback Transform after setting up the play control
private void AddCallback(object pCallback)
{
if (lmvCallBkPlay == null)
{
playCtrl1.SelectedVideoProcessors.Add(playCtrl1.VideoProcessors.Callback);
lmvCallBkPlay = playCtrl1.GetSubObject(Leadtools.MediaFoundation.PlayObject.SelVideoProcessor) as LMFVCallback;
lmvCallBkPlay.ReceiveProcObj = pCallback;
fCallbackFilterInserted = true;
}
else
{
lmvCallBkPlay.ReceiveProcObj = pCallback;
fCallbackFilterInserted = true;
}
}

// Code for the Callback Transform
public class LEADCallbackPlay : ILMVUserCallback2
{
public LEADCallbackPlay(){ }
~LEADCallbackPlay(){}

public void ReceiveProc(long pData, int lWidth, int lHeight, int lBitCount, int lSize, int bTopDown)
{
Bitmap bmp = new Bitmap(lWidth, lHeight, lBitCount / 8 * lWidth, System.Drawing.Imaging.PixelFormat.Format32bppRgb, new IntPtr(pData));
bmp.Save("Still_bitmap.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
}
}

阅读(666) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~