我正在使用Windows Graphics Capture API用 C# 构建屏幕录制应用程序。我正在使用这个脚本。我可以选择监视器并将其录制到 mp4 文件。我正在尝试添加暂停/恢复功能。
这是启动录制的主窗口的代码
try
{
newFile = GetTempFile();
using (var stream = new FileStream(newFile, FileMode.CreateNew).AsRandomAccessStream())
using (_encoder = new Encoder(_device, item))
{
await _encoder.EncodeAsync(
stream,
width, height, bitrate,
frameRate);
}
}
catch (Exception ex)
{
//
}
Run Code Online (Sandbox Code Playgroud)
这是上面使用的Encoder 类的主要函数
private async Task EncodeInternalAsync(IRandomAccessStream stream, uint width, uint height, uint bitrateInBps, uint frameRate)
{
if (!_isRecording)
{
_isRecording = true;
_frameGenerator = new CaptureFrameWait(
_device,
_captureItem,
_captureItem.Size);
using (_frameGenerator)
{
var …Run Code Online (Sandbox Code Playgroud) c# screen-capture direct3d11 screen-recording windows-graphics-capture