标签: windows-graphics-capture

使用 Windows 图形捕获 API 暂停/恢复屏幕录制

我正在使用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

5
推荐指数
1
解决办法
397
查看次数