.NET MAUI - По умолчанию принудитесь задняя камера (MediaPicker / Camera.maui / ZXING / OCR)IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 .NET MAUI - По умолчанию принудитесь задняя камера (MediaPicker / Camera.maui / ZXING / OCR)

Сообщение Anonymous »

Я строю кроссплатформенное приложение .NET MAUI, которое использует камеру для снимка и запустить OCR (через Amazon Rekognition или Plugin.maui.ocr). Независимо от платформы (Android или iOS), каждый API, который я пробовал, всегда открывает камеру передней /селфи, даже если я хочу по умолчанию задней камеры.

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

MediaPicker.Default.CapturePhotoAsync()

[*] camera.maui с Camera = "
[*] zxing.net.maui с cameralocation.rear
плагин. /> < /ul>
На всех них фронтальная камера открывается по умолчанию, и нет очевидной настройки или переопределения, чтобы выбрать заднюю камеру. Даже установка предпочтений камеры (например, Cameradevice = Bult ) не имеет эффекта, особенно на Android.

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

using System;
using System.IO;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Storage;    // MediaPicker
using Plugin.Maui.OCR;           // OcrPlugin

namespace RearCameraOCR;

public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}

private async void OnCaptureClicked(object sender, EventArgs e)
{
try
{
if (!MediaPicker.Default.IsCaptureSupported)
{
await DisplayAlert("Error", "Camera not supported.", "OK");
return;
}

// Always opens the front camera instead of rear
var photoFile = await MediaPicker.Default.CapturePhotoAsync();
if (photoFile == null)
return;

using var stream = await photoFile.OpenReadAsync();
using var ms = new MemoryStream();
await stream.CopyToAsync(ms);
var bytes = ms.ToArray();
photoImage.Source = ImageSource.FromStream(() => new MemoryStream(bytes));

var ocrResult = await OcrPlugin.Default.RecognizeTextAsync(bytes);
var text = ocrResult.AllText;

resultLabel.Text = string.IsNullOrWhiteSpace(text)
? "No text detected."
: text;
}
catch (Exception ex)
{
await DisplayAlert("Error", ex.Message, "OK");
}
}
}
< /code>















< /code>
Question:[/b]
How can I force .NET MAUI (on Android and iOS) to always use the rear camera by default when capturing photos? Is this limitation inherent to MediaPicker
(то есть, он всегда использует системный пользовательский интерфейс), или есть обходной путь/API, который позволяет выбрать заднюю камеру?

Подробнее здесь: https://stackoverflow.com/questions/797 ... i-zxing-oc
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • .NET MAUI - По умолчанию принудитесь задняя камера (MediaPicker / Camera.maui / ZXING / OCR)
    Anonymous » » в форуме IOS
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Выберите «Задняя камера» на html5-qrcode.min.js
    Anonymous » » в форуме Html
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Выберите «Задняя камера» на html5-qrcode.min.js
    Anonymous » » в форуме Html
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Camera.maui.zxing (.net 8) Функция не обнаруживает мои камеры
    Anonymous » » в форуме C#
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Camera.maui.zxing (.net 8) Функция не обнаруживает мои камеры
    Anonymous » » в форуме Android
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

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