在日常开发中,我们会经常遇到屏幕录制的需求。在C#中可以通过Expression Encoder的SDK实现这样的需求。首先需要下载Expression Encoder SDK,实现代码:

        private ScreenCaptureJob job = null;
public MainWindow()
{
InitializeComponent();
job = new ScreenCaptureJob();
job.CaptureMouseCursor = false;
} private void BtnPlay_Click(object sender, RoutedEventArgs e)
{
BtnPause.IsEnabled = true;
BtnStop.IsEnabled = true;
BtnPlay.IsEnabled = false;
if(job.Status == RecordStatus.NotStarted)
{
job.CaptureRectangle = Screen.PrimaryScreen.WorkingArea;
job.OutputPath = "D:/ScreenCapture";
} job.Start();
} private void BtnPause_Click(object sender, RoutedEventArgs e)
{
BtnPlay.IsEnabled = true;
BtnPause.IsEnabled = false; job.Pause();
} private void BtnStop_Click(object sender, RoutedEventArgs e)
{
BtnPlay.IsEnabled = true;
BtnPause.IsEnabled = false;
BtnStop.IsEnabled = false;
job.Stop();
} private void OnClosing(object sender, System.ComponentModel.CancelEventArgs e)
{
if (job.Status == RecordStatus.Running)
{
MessageBoxResult result =
System.Windows.MessageBox.Show("Capturing in Progress. Are You Sure You Want To Quit?", "Capturing",
MessageBoxButton.YesNo);
if (result == MessageBoxResult.No)
{
e.Cancel = true;
return;
}
job.Stop();
job.Dispose();
}
}

参考文档:http://msdn.microsoft.com/en-us/library/gg602440(v=expression.40).aspx

代码下载.

如果你对这个例子有疑问,欢迎在评论中指出;如果有其他实现方法,也欢迎你与我分享。谢谢!

C# 与 Microsoft Expression Encoder实现屏幕录制的更多相关文章

  1. 基于最简单的FFmpeg的AVDevice抽样(屏幕录制)

    =====================================================基于最简单的FFmpeg的AVDevice样品文章: 最简单的基于FFmpeg的AVDevic ...

  2. 最简单的基于FFmpeg的AVDevice例子(屏幕录制)

    =====================================================最简单的基于FFmpeg的AVDevice例子文章列表: 最简单的基于FFmpeg的AVDev ...

  3. ffmpeg 屏幕录制 so easy....

    linux Linux下使用FFmpeg进行屏幕录制相对比较方便,可以使用x11grab,使用如下的命令: ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec li ...

  4. Mac与iPhone屏幕录制

    1. Mac电脑屏幕录制 1.1 文件->新建屏幕录制   1.2 点击红色按钮   1.3 截取需要录制的屏幕部分,点击开始录制   1.4 点击工具栏的停止按钮,停止录制   1.5 然后会 ...

  5. LICEcap – 灵活好用,GIF 屏幕录制工具

    LICEcap – 灵活好用,GIF 屏幕录制工具 http://www.appinn.com/licecap/

  6. 团队交流合作简单解决方案:TeamViewer远程控制&会议演示 + HyperCam屏幕录制(免费)

    一. 教程摘要 做开发,团队合作是少不了的.而在合作中,有一部分是花在交流讨论上,其中包括初期的任务分配,成员的进度汇报,以及资源和心得分享等.该教程介绍了两个免费的软件,搭配起来,适合人数不超过25 ...

  7. expression encoder 4 安装 出现“已经安排重启您的计算机

    问题: expression encoder 4  安装 出现“已经安排重启您的计算机 解决的办法,注册表数据的修改 开始 运行 regedit HKEY_LOCAL_MACHINE\SYSTEM\C ...

  8. LICEcap GIF 屏幕录制工具

    LICEcap 是一款屏幕录制工具,支持导出git动画图片格式,简单好用.大小只有几百KB   运行之后,可以随意调整大小,右下角有开始/停止按钮.      压缩包:http://files.cnb ...

  9. 在MAC系统上进行屏幕录制

    最近打算将一些软件操作过程进行屏幕录制进行视频分享,所以寻思着找一块能在MAC上使用的屏幕录制软件.google了一番,没想到MAC系统自带的QuickTime Player已经内置屏幕录像功能,而且 ...

随机推荐

  1. 4. 如何解释dalvik字节码

    如何解释dalvik字节码 文档: 在Android系统源码目录dalvik\docs有相关指令文档 dalvik-bytecode.html 实战: 来直接实战模拟来理解枯燥的理论 用IDA打开一个 ...

  2. Ext treelist 动态切换TreeStore

    chooseMenu: function(_this) { //var mycomp = top.Ext.getCmp("my_comp"); var menuTreeStore ...

  3. 关闭CENTOS不必要的默认服务

    CentOS关闭服务的方法: 图形界面,运行ntsysv chkconfig –level 2345 服务名称 off 服務名稱 建議 說明 acpid 停用 Advanced Configurati ...

  4. 批量 kill mysql 中运行时间长的sql

    1.通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令 mysql> select conc ...

  5. [20160731]read a file and print it on the screen

    //read a file and print it on the screen import java.io.*; public class MyPrintStreamTest2{ public s ...

  6. CLR via C# 随记

    使用C# 编译器的方法: 1.csc.exe位于C:\Windows\Microsoft.NET\Framework\vxxxxx下面,将对应版本的路径配置到环境变量path中,如将";C: ...

  7. SqlServer coalesce函数

    SqlServer数据库中coalesce函数用法:在SqlServer2005中有了新的函数,它非常的实用,它就是coalesce函数,此函数可以返回参数中的第一个非空表达式,当你要在N个字段中选取 ...

  8. STL 阅读(浅析)

    写的不错,决定那这个看下.看的还是晕. http://luohongcheng.github.io/archives/

  9. hdu 1195

    题意:就是给你n组的四位数,在一次变化中又一位数字可以变化,而变化的方式为加一减一或者是与隔壁的互换,注意,是每一个数字都可以, 求最少的变化次数到达目标的数字 一看这个就应该知道这是一个bfs的题目 ...

  10. ACM/ICPC 之 分治法入门(画图模拟:POJ 2083)

    题意:大致就是要求画出这个有规律的Fractal图形了= = 例如 1 对应 X 2 对应 X  X   X    X  X 这个题是个理解分治法很典型的例子(详情请参见Code) 分治法:不断缩小规 ...