Как я могу установить (и почему он еще не установлен) приемник предварительного просмотра для камеры в моем приложении 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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