我在启动UWP媒体捕获时遇到问题。我的代码如下,
private async Task StartPreviewAsync()
{
try
{
//set initilize settings
Settings oneSetting = null;
using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), sqlpath))
{
oneSetting = (from p in conn.Table<Settings>()
where p.id == 0
select p).FirstOrDefault();
}
if (oneSetting.camera != null)
{
var settings = new MediaCaptureInitializationSettings();
settings.StreamingCaptureMode = StreamingCaptureMode.Video;
settings.PhotoCaptureSource = PhotoCaptureSource.VideoPreview;
var devices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(Windows.Devices.Enumeration.DeviceClass.VideoCapture);
foreach (var device in devices)
{
if ((device.Id).Equals(oneSetting.cameraId))
{
settings.VideoDeviceId = device.Id;
break;
}
}
_mediaCapture = new MediaCapture();
await _mediaCapture.InitializeAsync(settings);
//MediaCapture m = new MediaCapture();
//await m.InitializeAsync();
var focusSettings = new FocusSettings();
focusSettings.AutoFocusRange = AutoFocusRange.FullRange;
focusSettings.Mode = FocusMode.Auto;
focusSettings.WaitForFocus = true;
focusSettings.DisableDriverFallback = false;
_mediaCapture.VideoDeviceController.FocusControl.Configure(focusSettings);
await _mediaCapture.VideoDeviceController.ExposureControl.SetAutoAsync(true);
_mediaCapture.SetPreviewRotation(VideoRotation.Clockwise90Degrees);
_mediaCapture.SetRecordRotation(VideoRotation.Clockwise90Degrees);
capturePreview.Source = _mediaCapture;
await _mediaCapture.StartPreviewAsync();
_isPreviewing = true;
_displayRequest.RequestActive();
DisplayInformation.AutoRotationPreferences = DisplayOrientations.Landscape;
}
}
catch (UnauthorizedAccessException)
{
// This will be thrown if the user denied access to the camera in privacy settings
System.Diagnostics.Debug.WriteLine("The app was denied access to the camera");
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("MediaCapture initialization failed. {0}", ex.Message);
}
}
它返回MediaCapture初始化失败。 {0}错误。最近,它运行良好。但是从今天早上起它就会出错。是否有人犯同样的错误?
完整的错误消息是;
此系统不支持指定的设备接口级别或功能。 :Media Capture初始化失败。 {0} 线程0x1924已退出,代码为0(0x0)。
答案 0 :(得分:0)
但是从今天早上起它就会出错。
您最近是否更新了设备操作系统?您在哪个设备上遇到此问题以及操作系统版本是什么?
我个人认为这更像是设备问题或驱动器问题。您可以尝试重新启动设备,看看是否有帮助。或者你可以启动内置的相机应用程序,并检查这个官方应用程序是否运行良好。
我在这里写这个答案是因为有太多细节需要确认,请在这里发表评论,根据我的建议告诉我们您的设备和测试结果的详细信息,我们可以保留看看这个问题。
答案 1 :(得分:0)
这里的问题相同。 经过几个小时的重试和谷歌搜索,我意识到它与Windows 10周年更新有关。 我在这里找到了解决方案:
https://www.macecraft.com/fix-webcam-issues-windows-10-anniversary-update/
我在注册表中添加了EnableFrameServerMode键,神奇的是网络摄像头恢复了工作。