zoukankan      html  css  js  c++  java
  • 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

    代码下载.

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

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Oracle 常用的十大 DDL 对象
    Oracle DML
    Oracle 的常用概念
    Spring 4 : 整合 SSH
    Spring3 (事务管理)
    Spring2
    Spring 学习笔记一
    Xpath helper下载
    爬取链家北京市二手房的单个房源页信息
    爬取链家北京市二手房的链家编号
  • 原文地址:https://www.cnblogs.com/yang-fei/p/4020806.html
Copyright © 2011-2022 走看看