.NET MAUI - standardmäßig die Rückfahrkamera (MediaPicker / Camera.Maui / Zxing / OCR) erzwingenIOS

Programmierung für iOS
Anonymous
 .NET MAUI - standardmäßig die Rückfahrkamera (MediaPicker / Camera.Maui / Zxing / OCR) erzwingen

Post by Anonymous »

Ich erstelle eine plattformübergreifende .NET MAUI-App, mit der die Kamera ein Foto aufnimmt und OCR ausführt (über Amazon Rekognition oder Plugin.Maui.ocr). Unabhängig von der Plattform (Android oder iOS) öffnet jede API, die ich versucht habe, immer die Vorder- /Selfie -Kamera, obwohl ich die Rückfahrkamera standardmäßig möchte.

Code: Select all

MediaPicker.Default.CapturePhotoAsync()

[*] camera.maui mit camera = "rücken"
[*] zxing.net.maui Mit Cameralocation.rear

ulin.con.cr/ul. /> Bei allen öffnet die Frontkamera standardmäßig und es gibt keine offensichtliche Einstellung oder Überschreibung, um die Rückfahrkamera auszuwählen. Sogar das Einstellen der Kameraeinstellungen (z. B. Cameradevice = Heck ) hat keinen Einfluss - insbesondere auf Android.

Code: Select all

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>
[b]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
(d. H. Es wird immer die System -Benutzeroberfläche verwendet) oder gibt es eine Problemumgehung/API, mit der die Auswahl der Rückkamera ausgewählt wird?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post