如何在 WPF 项目中使用 AppRecordingManager 启用屏幕捕获(视频)?

How to enable screen capture (video) using AppRecordingManager in a WPF project?

我正在尝试使用 UWP API 捕获我的应用程序的视频,特别是 Windows.Media.AppRecording 命名空间。当我尝试执行代码时,我得到一个 CanRecord 标志为 false,Details 属性 给出的原因是用户禁用了“某物”。

如何启用屏幕截图?我需要特定的配置文件或清单吗?

我的应用程序非常简单:只是一个 .NET 4.7.2 中的 WPF,由一个开始录制的按钮和一个停止录制的按钮组成。

方法如下:

public async Task StartRecordingAsync(string fileName)
        {
            AppRecordingManager manager = AppRecordingManager.GetDefault();
            var status = manager.GetStatus();
            if (status.CanRecord || status.CanRecordTimeSpan)
            {

                var myVideo = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Videos);
                StorageFolder projectFolder = await myVideo.SaveFolder.CreateFolderAsync("DataFolder", CreationCollisionOption.OpenIfExists);

                var audio = await projectFolder.CreateFileAsync(fileName, CreationCollisionOption.GenerateUniqueName);

                var result = await manager.StartRecordingToFileAsync(audio).AsTask<AppRecordingResult>(CTS.Token);

                if (result.Succeeded)
                {
                    IsRecording = true;
                }
                else
                {
                    IsRecording = false;
                }
            }
        }

这里是 status 变量给出的 Details

status.Details

当用户不允许应用录制时,AppRecordingStatusDetails 的 IsDisbaledByUser 属性 为 false。

True if app recording has been disabled by the user; otherwise, false.

要允许应用录制,您需要从 Windows 设置中启用游戏栏:

设置 -> 游戏 -> 使用游戏栏录制游戏剪辑、屏幕截图和广播