C# 与 Microsoft Expression Encoder实现屏幕录制
在日常开发中,我们会经常遇到屏幕录制的需求。在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实现屏幕录制的更多相关文章
- 基于最简单的FFmpeg的AVDevice抽样(屏幕录制)
=====================================================基于最简单的FFmpeg的AVDevice样品文章: 最简单的基于FFmpeg的AVDevic ...
- 最简单的基于FFmpeg的AVDevice例子(屏幕录制)
=====================================================最简单的基于FFmpeg的AVDevice例子文章列表: 最简单的基于FFmpeg的AVDev ...
- ffmpeg 屏幕录制 so easy....
linux Linux下使用FFmpeg进行屏幕录制相对比较方便,可以使用x11grab,使用如下的命令: ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec li ...
- Mac与iPhone屏幕录制
1. Mac电脑屏幕录制 1.1 文件->新建屏幕录制 1.2 点击红色按钮 1.3 截取需要录制的屏幕部分,点击开始录制 1.4 点击工具栏的停止按钮,停止录制 1.5 然后会 ...
- LICEcap – 灵活好用,GIF 屏幕录制工具
LICEcap – 灵活好用,GIF 屏幕录制工具 http://www.appinn.com/licecap/
- 团队交流合作简单解决方案:TeamViewer远程控制&会议演示 + HyperCam屏幕录制(免费)
一. 教程摘要 做开发,团队合作是少不了的.而在合作中,有一部分是花在交流讨论上,其中包括初期的任务分配,成员的进度汇报,以及资源和心得分享等.该教程介绍了两个免费的软件,搭配起来,适合人数不超过25 ...
- expression encoder 4 安装 出现“已经安排重启您的计算机
问题: expression encoder 4 安装 出现“已经安排重启您的计算机 解决的办法,注册表数据的修改 开始 运行 regedit HKEY_LOCAL_MACHINE\SYSTEM\C ...
- LICEcap GIF 屏幕录制工具
LICEcap 是一款屏幕录制工具,支持导出git动画图片格式,简单好用.大小只有几百KB 运行之后,可以随意调整大小,右下角有开始/停止按钮. 压缩包:http://files.cnb ...
- 在MAC系统上进行屏幕录制
最近打算将一些软件操作过程进行屏幕录制进行视频分享,所以寻思着找一块能在MAC上使用的屏幕录制软件.google了一番,没想到MAC系统自带的QuickTime Player已经内置屏幕录像功能,而且 ...
随机推荐
- bootstrap常用的定义风格
primary() 首选项 success() 成功 info() 一般信息 warning() 警告 danger() 危险 <bod ...
- saltstack/salt的state.sls的使用
SLS(代表SaLt State文件)是Salt State系统的核心.SLS描述了系统的目标状态,由格式简单的数据构成.这经常被称作配置管理 首先,在master上面定义salt的主目录,默认是在/ ...
- servlet 和filter 的生命周期说明
servlet : 当客户端第一次访问servlet的时候,服务器就会创建servlet实例,servlet 就会执行init方法,每次请求,服务器会开一个新的线程访问servlet中得service ...
- yum安装所需要的开发库
yum groupinstall "Development tools" -y yum install zlib-devel bzip2-devel openssl-devel n ...
- javax.imageio.IIOException: Can't create cache file!
javax.imageio.IIOException: Can't create cache file! at javax.imageio.ImageIO.createImageInputStream ...
- 77 找出最大连续自然数个数[Longest Consecutive Sequence in an Unsorted Array]
[本文链接] http://www.cnblogs.com/hellogiser/p/Longest-Consecutive-Sequence-in-an-Unsorted-Array.html [题 ...
- 解读Unity中的CG编写Shader系列八(多光源漫反射)
转自http://www.itnose.net/detail/6117338.html 前文中完成最简单的漫反射shader只是单个光源下的漫反射,而往往场景中不仅仅只有一个光源,那么多个光源的情况下 ...
- ios 利用size classes 使 iPad 水平和垂直方向布局不同
我们知道ipad全屏幕显示时,无论水平放置还是竖直放置,width 和 height 都是 regular,不像iphone能够区别,那么就不能使用size class 布局不同的水平和垂直界面了吗? ...
- nyoj_148_fibonacci数列(二)_矩阵快速幂
fibonacci数列(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 In the Fibonacci integer sequence, F0 = 0, F ...
- Greedy:The Water Bowls(POJ 3185)
水池 题目大意:给定一个20的数组,全都是0和1,可以翻一个数改变成另一个数(0或者1),但是其左右两边的数都会跟着变为原来的相反数,问你怎么用最小的操作数使全部数变成0 这一题的:满足 1:翻转次序 ...