最近由于工程需要開始研發(fā)基于Windows的自動錄屏軟件,很多細節(jié)很多功能需要處理,畢竟一個完美的錄屏軟件不是你隨隨便便就可以寫出來的。首先參考了大部分的錄屏軟件,在研發(fā)的過程中遇到了很多的問題;比如-視頻加載、麥克風加載、麥克風音量調(diào)節(jié)、視頻播放進度控、視頻音量控制、等等很多細節(jié)部分都需要好好規(guī)劃才能開始做。錄屏采用的是視頻幀的思維邏輯進行編寫的。
目前已經(jīng)基本上成型,基于WPF采用了Model - View框架進行動態(tài)加載,每個線程與線程之間采用Async異步執(zhí)行,并使用線程等待;錄屏基本功能包含了(展示歷史錄屏記錄、刪除、錄屏、視頻編碼、視頻播放及刪除、麥克風調(diào)用(音量調(diào)節(jié)-跟隨系統(tǒng))、加載視頻(拖拉-旋轉)、系統(tǒng)遮罩 等);編碼的核心是采用FFMPEG(這個工具真的非常強大);
這邊提供幾個核心代碼僅供參考:
1-難點:系統(tǒng)遮罩核心方法(使用Windows API):
改變屬性的時候觸發(fā)
API方法
2-難點:麥克風獲取及控制
<Slider x:Name="volumeSlider" Grid.Column="7" Grid.ColumnSpan="3" Grid.Row="1" Width="100" Height="20" Minimum="0" Maximum="100" Value="100" VerticalAlignment="Center" />
延伸閱讀
學習是年輕人改變自己的最好方式