如何在 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 设置中启用游戏栏:
设置 -> 游戏 -> 使用游戏栏录制游戏剪辑、屏幕截图和广播
我正在尝试使用 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 设置中启用游戏栏:
设置 -> 游戏 -> 使用游戏栏录制游戏剪辑、屏幕截图和广播