資源簡介
這個例子是基于sharpcapture開發(fā)的winform程序。提供源碼。SharpCapture是一款音視頻數(shù)據(jù)采集類庫。它完全采用C#語言開發(fā),基于DirectShow技術(shù)實現(xiàn)攝像頭幀畫面采集、屏幕錄制、聲卡采集、麥克風采集、混音等諸多強大功能為一體,且不依賴任何其他第三方組件。通過調(diào)用它,您可以快速實現(xiàn)攝像頭畫面的采集,系統(tǒng)屏幕的錄制,采集計算機聲卡以及麥克風聲音,并且可以對聲卡的聲音和麥克風的聲音進行混音。可以應(yīng)用到直播、錄屏、電腦錄音、遠程教學(xué)、視頻聊天等業(yè)務(wù)場景。

代碼片段和文件信息
using?System;
using?System.Drawing;
using?System.IO;
using?System.Windows.Forms;
using?SharpCapture;
using?SharpCapture.Interface;
namespace?SimpleDemo
{
????public?partial?class?Form1?:?Form
????{
????????#region?變量
????????private?int?nAudioDataLen?=?0;
????????private?ICameraCapture?camera?=?null;
????????private?IScreenCapture?screen?=?null;
????????private?ISoundcardCapture?soundcard?=?null;
????????private?IMicrophoneCapture?microphone?=?null;
????????private?IMixer?mixer?=?null;
????????//下面是wav文件生成類
????????private?WavHelper?soundcardWav?=?null;
????????private?WavHelper?microphoneWav?=?null;
????????private?WavHelper?mixedWav?=?null;
????????#endregion
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????#region?事件
????????private?void?btnStart_Click(object?sender?EventArgs?e)
????????{
????????????try
????????????{
????????????????lblStatus.Text?=?““;
????????????????if?(this.comboBox1.SelectedIndex?==?0)
????????????????{
????????????????????//攝像頭采集
????????????????????camera?=?CaptureFactory.GetCameraCapture(0?new?Size(int.Parse(this.edtWidth.Text)?int.Parse(this.edtHeight.Text))
????????????????????????????????????30);
????????????????????//注冊采集到幀圖片的事件,在該事件函數(shù)中得到采集到的幀圖片
????????????????????camera.frameImageCaptured?+=?new?SGDelegate(CameraImageCaptured);
????????????????????//開始采集
????????????????????camera.Start();
????????????????}
????????????????else?if?(this.comboBox1.SelectedIndex?==?1)
????????????????{
????????????????????//屏幕畫面采集
????????????????????screen?=?CaptureFactory.GetScreenCapture(20?false);
????????????????????//注冊采集到屏幕畫面的事件,該事件函數(shù)中可以得到采集到的幀圖片
????????????????????screen.frameImageCaptured?+=?new?SGDelegate(ScreenImageCaptured);
????????????????????//開始采集
????????????????????screen.Start();
????????????????}
????????????????else?if?(this.comboBox1.SelectedIndex?==?2)
????????????????{
????????????????????//麥克風采集,默認采集第一個麥克風
????????????????????microphone?=?CaptureFactory.GetMicrophoneCapture(0);
????????????????????//注冊采集到聲音數(shù)據(jù)的事件,每當采集到聲音數(shù)據(jù),就通過該事件上報
????????????????????microphone.AudioDataCaptured?+=?new?SGDelegate(MicrophoneAudioDataCaptured);
????????????????????//采集開始前,先初始化麥克風wav文件寫入器
????????????????????string?path?=?Path.Combine(AppDomain.CurrentDomain.baseDirectory?“microphone.wav“);
????????????????????if?(File.Exists(path))
????????????????????{
????????????????????????File.Delete(path);
????????????????????}
????????????????????microphoneWav?=?new?WavHelper(path?microphone.SampleRate?(short)microphone.ChannelCount);
????????????????????//開始采集
????????????????????microphone.Start();
????????????????}
????????????????else?if?(this.comboBox1.SelectedIndex?==?3)
????????????????{
????????????????????//聲卡數(shù)據(jù)采集
????????????????????soundcard?=?CaptureFactory.GetSoundcardCapture();
????????????????????//注冊采集到聲音數(shù)據(jù)的事件,每當采集到聲音數(shù)據(jù),就通過該事件上報
????????????????????sou
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-04-03?23:02??SharpCapture?V2.3?Trial\
?????目錄???????????0??2019-04-03?23:02??SharpCapture?V2.3?Trial\幫助手冊\
?????文件??????176043??2019-04-01?19:43??SharpCapture?V2.3?Trial\幫助手冊\SharpCapture.chm
?????目錄???????????0??2019-04-03?23:02??SharpCapture?V2.3?Trial\庫\
?????文件??????937984??2019-04-02?23:58??SharpCapture?V2.3?Trial\庫\SGSupport.dll
?????文件?????1030144??2019-04-03?19:03??SharpCapture?V2.3?Trial\庫\SharpCapture.dll
?????文件?????1242624??2019-04-01?22:16??SharpCapture?V2.3?Trial\庫\SharpCapture.pdb
?????文件???????16034??2019-04-03?19:50??SharpCapture?V2.3?Trial\庫\SharpCapture.xm
?????目錄???????????0??2019-04-03?23:03??SharpCapture?V2.3?Trial\示例\
?????目錄???????????0??2019-04-03?19:53??SharpCapture?V2.3?Trial\示例\SimpleDemo\
?????目錄???????????0??2019-04-03?19:52??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\
?????目錄???????????0??2019-04-03?19:52??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\SimpleDemo\
?????目錄???????????0??2019-04-03?19:52??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\SimpleDemo\v15\
?????文件???????24064??2019-04-02?23:58??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\SimpleDemo\v15\.suo
?????目錄???????????0??2019-04-03?19:52??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\SimpleDemo\v15\Server\
?????目錄???????????0??2019-04-03?19:52??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\SimpleDemo\v15\Server\sqlite3\
?????文件???????????0??2019-04-02?23:29??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\SimpleDemo\v15\Server\sqlite3\db.lock
?????文件????????4096??2019-04-02?23:29??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\SimpleDemo\v15\Server\sqlite3\storage.ide
?????文件???????32768??2019-04-02?23:30??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\SimpleDemo\v15\Server\sqlite3\storage.ide-shm
?????文件??????729272??2019-04-02?23:45??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\SimpleDemo\v15\Server\sqlite3\storage.ide-wal
?????目錄???????????0??2019-04-03?19:52??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\Supercharger\
?????目錄???????????0??2019-04-03?19:52??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\Supercharger\SimpleDemo\
?????文件????????2758??2019-04-02?23:58??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\Supercharger\SimpleDemo\codemap.dat
?????文件????????1131??2019-04-02?23:58??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\Supercharger\SimpleDemo\global_history.dat
?????文件?????????214??2019-04-02?23:58??SharpCapture?V2.3?Trial\示例\SimpleDemo\.vs\Supercharger\SimpleDemo\workbench.dat
?????目錄???????????0??2019-04-03?19:52??SharpCapture?V2.3?Trial\示例\SimpleDemo\bin\
?????目錄???????????0??2019-04-03?19:52??SharpCapture?V2.3?Trial\示例\SimpleDemo\bin\Debug\
?????文件??????937984??2019-04-02?19:44??SharpCapture?V2.3?Trial\示例\SimpleDemo\bin\Debug\SGSupport.dll
?????文件??????176043??2019-04-02?19:44??SharpCapture?V2.3?Trial\示例\SimpleDemo\bin\Debug\SharpCapture.chm
?????文件?????1030144??2019-04-03?19:03??SharpCapture?V2.3?Trial\示例\SimpleDemo\bin\Debug\SharpCapture.dll
?????文件?????1242624??2019-04-01?22:16??SharpCapture?V2.3?Trial\示例\SimpleDemo\bin\Debug\SharpCapture.pdb
............此處省略23個文件信息
評論
共有 條評論