Как я могу установить (и почему он еще не установлен) приемник предварительного просмотра для камеры в моем приложении WC#

Место общения программистов C#
Anonymous
Как я могу установить (и почему он еще не установлен) приемник предварительного просмотра для камеры в моем приложении W

Сообщение Anonymous »

Я создаю приложение WinUI3, которое отображает пользователю изображение с камеры и может останавливать/запускать его с помощью кнопки. До сих пор я следовал «учебнику» Microsoft. В моем приложении есть следующий код:

Код: Выделить всё

cameraCapture = new MediaCapture();
var mediaCaptureInitializationSettings = new MediaCaptureInitializationSettings()
{
SourceGroup = cameraSourceGroup,
SharingMode = MediaCaptureSharingMode.ExclusiveControl,
StreamingCaptureMode = StreamingCaptureMode.Video,
MemoryPreference = MediaCaptureMemoryPreference.Cpu
};

await cameraCapture.InitializeAsync(mediaCaptureInitializationSettings);
var frameSource = cameraCapture.FrameSources[cameraSourceGroup.SourceInfos[0].Id];
CaptureElement.Source = Windows.Media.Core.MediaSource.CreateFromMediaFrameSource(frameSource);

await cameraCapture.StartPreviewAsync();
Последняя строка выдает исключение по этой причине: «System.Runtime.InteropServices.COMException: 'В запрошенной операции произошла непредвиденная ошибка.
Приемник предварительного просмотра не установлен'»
Из того, что я понял, приемник предварительного просмотра уже установлен CaptureElement.Source = ..., поэтому я не понимаю, почему он выдает исключение.
/>Я пытался найти решение, но другая проблема заключается в том, что я не могу найти никакой подходящей помощи, потому что даже Microsoft ссылается на документацию UWP, чтобы сделать это:

Код: Выделить всё

mediaCapture = new MediaCapture();
await mediaCapture.InitializeAsync();

PreviewControl.Source = mediaCapture;
await mediaCapture.StartPreviewAsync();
Но в моем случае PreviewControl.Source — это тип IMediaPlaybackSource, а тип MediaCapture — нет. Аналогичным образом, в этом примере используется элемент xaml CaptureElement, который я не могу найти.
Мой вопрос: как настроить приемник предварительного просмотра для захвата, чтобы я не мог запускать/остановить предварительный просмотр нажатием кнопки?

Подробнее здесь: https://stackoverflow.com/questions/780 ... -camera-in

Вернуться в «C#»