用c#實現螢幕錄影功((成功)
using WMEncoderLib;
using WMPREVIEWLib;
using System.IO;
WMEncoder Encoder;
private void Form1_Load(object sender,
System.EventArgs e)
{
Encoder = new WMEncoder();
IWMEncSourceGroup SrcGrp;
IWMEncSourceGroupCollection
SrcGrpColl;
SrcGrpColl = Encoder.SourceGroupCollection;
SrcGrp = SrcGrpColl.Add("SG_1");
IWMEncSource SrcVid;
IWMEncSource SrcAud;
SrcVid =
SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_VIDEO);
SrcAud =
SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_AUDIO);
SrcAud.SetInput("Default_Audio_Device", "Device", "");
SrcVid.SetInput("ScreenCapture1", "ScreenCap", "");
IWMEncProfileCollection ProColl;
IWMEncProfile Pro;
int
i;
long lLength;
ProColl =
Encoder.ProfileCollection;
lLength = ProColl.Count;
for( i=0 ; i <lLength-1 ; i++ )
{
Pro =
ProColl.Item(i);
if( Pro.Name == "Windows Media Video 8 for
Local Area Network (384 Kbps)" )
{
SrcGrp.set_Profile(Pro);
break;
}
}
IWMEncDisplayInfo Descr;
Descr = Encoder.DisplayInfo;
Descr.Author = "Armoghan Asif";
Descr.Copyright = "Copyright
information";
Descr.Description = "Text description of encoded
content";
Descr.Rating = "Rating information";
Descr.Title = "Title of encoded content";
IWMEncAttributes
Attr;
Attr = Encoder.Attributes;
Attr.Add("URL",
"www.adnare.com");
IWMEncFile File;
File =
Encoder.File;
File.LocalFileName = @"C:/OutputFile.avi";
//
SrcVid.CroppingBottomMargin = 2;
// SrcVid.CroppingTopMargin =
2;
// SrcVid.CroppingLeftMargin = 2;
//
SrcVid.CroppingRightMargin = 2;
Encoder.Start();
}
private void button1_Click(object sender,
System.EventArgs e)
{
this.Encoder.Stop();
//
if( Encoder.RunState )
// {
// Encoder.Stop();
//
Application.Exit();
// }
}
相關推薦
用c#實現螢幕錄影功((成功)
using WMEncoderLib; using WMPREVIEWLib; using System.IO; WMEncoder Encoder; private void Form1_Load(object sender, System.EventAr
C++實現螢幕截圖(全屏截圖)
最近維護的專案,在某些情況下,光有日誌還不行,於是添加了截圖功能,特定情況下,會自動截圖,輔助分析,從而改程序序。以下是截圖實現程式碼。 void CDemoDlg::ScreenShot(void) { CWnd *pDesktop = GetDesktopWi
C#實現螢幕錄影
{ 有關係統托盤 Win32 成員 /////////////////////////////////////////////////////////////////////////////////////////////
用C#實現將大寫日期(年/月/日)轉化為小寫日期(阿拉伯數字的)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 日期轉換 { class Program { st
用 jQuery 實現表單驗證(轉載)
失去焦點 cli on() 獲得 itl 文本框 特殊 體驗 格式 jQuery 官方 API 地址: http://api.jquery.com/ 在線引用 jQuery:http://code.jquery.com/ ——選自《鋒利的jQuery》(第2版)第5章的
Python用列表實現棧,佇列(二)
用列表實現佇列 佇列和棧實現的功能差不多,無非是入佇列,出佇列,佇列長度等等。其中,入佇列可以用列表的append()來實現,出佇列可以使用pop(0)來實現。由於這個實現方法比較簡單,因此它也是最低效的。append方法入佇列和棧實
Python用列表實現棧,佇列(一)
用列表實現棧 棧方法 列表實現 S.push() L.append() S.pop() L.pop() S.top()
vue用i18n實現多語言支援(國際化)
vue-i18n是用於多語言適配的vue外掛,主要用於前端專案的國際化應用。 個簡單的例子: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title&
用qemu實現tsi107橋摸索(三)
通過上一篇的分析,知道了 mac_newworld中的 TYPE_U3_AGP_HOST_BRIDGE; TYPE_UNI_NORTH_AGP_HOST_BRIDGE;TYPE_UNI_NORTH_INTERNAL_PCI_HOST_BRIDGE;TYPE_UNI_NO
C# 實現傳送手機簡訊(可用)
前幾天分享了java如何對接簡訊介面的例項,這兩天技術經理又佈置了任務要求在老的網站也要對接簡訊介面,撿起了之前學習的c#,但是因為年代久遠,所有在技術方面略有不熟悉的,就參考了其他同行的程式碼~~加以修改,現在把原始碼分享給大家,希望可以給大家一個幫助,當然簡
用節點實現一個棧結構(stack)
前一篇文章用了陣列對棧進行了簡單地實現,本文擬使用linkedList進行實現。在java的connection中,有一個linkedlist子類,俗稱為連結串列,linkedlist,節點Node在java中是這樣定義的: Private static class
用C語言擴充套件lua模組(入門)
#include <lua.h> #include <lauxlib.h> #include <lualib.h> static void encode_sha(const char* src, char* des) { /* *sha-hash /
用Java實現面向物件程式設計(入門)
一、◆抽象和封裝1、現實世界是“面向物件”的,面向物件就是採用“現實模擬”的方法設計和開發程式。從現實中抽象出類:①發現類 ②發現類的屬性 ③發現類的方法用面向物件的思想描述面向物件的世界,符合人類的思維習慣。(類圖用於分析和設計類,更直觀、容易理解。)2、面向物件設計的過
用css3實現各種圖示效果(2)
寫在前面 寫的一模一樣的css樣式,結果卻導致原來出來不一樣的效果圖。 用chrome的開發者工具檢視,比較起來還是一模一樣的css樣式,可為什麼會出現不一樣的placeholder效果呢?一個白色粗體,一個灰色正常字型。 找了老半天找不到原因 後來才發現是我同事寫的框架css裡面程式碼的一句
用MVC實現簡單的檔案(圖片)上傳下載功能
一 實現效果簡單說明 上傳:上傳圖片,將圖片儲存到伺服器,並將相關資訊寫入資料庫。 下載:在頁面展示圖片下載列表的縮圖,點選圖片將其載入到本地。 二.View Index中程式碼 <h2>圖片上傳區</h2> <hr/> &l
基於C++實現視訊聊天軟體(一)
初來乍到,接觸到音視訊領域,在這期間參考開原始碼和專案程式碼,用C++做了一個類似QQ的視訊聊天Demo,這裡將其中開源的視訊通訊技術分享給大家。 工具: vs2010,MFC製作介面,網路傳輸機制(Socket等), VFW視訊採集,FFmpeg
C#——實現物體的移動(unity)
using UnityEngine;using System.Collections; public class shiftTest: MonoBehaviour { public flooat speed; float AD; floatWS; void Update()
跟我一起用C++實現Java Thread庫(一)
本文適合對多執行緒Thread原理比較感興趣的同學閱讀,需要具備一定的C++和Java程式設計知識。 一、背景 最近學習Java多執行緒程式設計,發現Java標準庫中的java.lang.Thread介面定義十分友好簡潔,使用起來十分方便。不禁想起之前用C/C++寫多執行緒
用pytorch實現一個神經網路(一)
對於影象資料的resize問題: pytorch裡有幾種resize資料的方法: 1.torchvision.transforms.Resize:這個我始終沒用成,好像是伺服器上安裝的anacond
用c++實現環形陣列的最大子陣列之和(結對)
結對作業 1.分解問題,將環形陣列,剪開變成一個一維陣列。 2.用一維陣列的最大子陣列和解決。 對於一個環形陣列,對每一個一維陣列的表示共有n-1種 原始碼如下: 1 #include<iostream> 2 using namespace std; 3 int max_