Мне нужно создать приложение Android с MAUI на .NET 9.0 и использовать старый планшет с 32-разрядным процессором.
Информация о планшете: 2018, версия Android 10, API 29, Java VM ART 2.1.0, архитектура ядра Armv8l, Armeabi-7a/armeabi.
Я установил Camera.MAUI.ZXing для чтения штрих-кода.
В приложении я отображаю прочитанный штрих-код, если считыватель штрих-кода считывает одно и то же значение хотя бы дважды, даже если они не последовательные.
Проблема в том, что часто ничего не отображается, или если штрих-код отображается, это занимает много времени, но я не могу ждать так долго, поэтому мне нужно прочитать штрих-код быстрее.
В код, я настроил как чтение штрих-кода, так и чтение QR-кода.
Когда я читаю QR-код, он работает быстро и всегда дает один и тот же результат.
Почему QR-код считывается правильно, но возникают трудности с чтением штрих-кода?
Возможно ли, что это проблема с фокусом или областью, в которой установлен код?
На телефоне Android нового поколения считывание происходит быстро и стабильно.
Я бы хотел использовать эти планшеты, даже если они довольно старые.
Информацию о камере я прикрепил.
Это код:
using System.Diagnostics;
using ZXing;
namespace GestMagazzino;
public partial class CameraView : ContentPage
{
bool isHandlingResult = false;
string _lastValue;
int _sameCount;
Dictionary _readCounts = new();
DateTime _windowStart = DateTime.MinValue;
const int REQUIRED_MATCHES = 2;
const int WINDOW_MS = 1500;
bool _accepted;
public CameraView()
{
InitializeComponent();
barcodeReader.Options = new ZXing.Net.Maui.BarcodeReaderOptions
{
Formats = ZXing.Net.Maui.BarcodeFormat.Code128 | ZXing.Net.Maui.BarcodeFormat.QrCode | ZXing.Net.Maui.BarcodeFormat.Ean13 | ZXing.Net.Maui.BarcodeFormat.Ean8 |
ZXing.Net.Maui.BarcodeFormat.Code39,
AutoRotate = true,
Multiple = false
};
if (Global.typeCode == enTypeCode.barcode)
{
gridInquadratura.WidthRequest = 300;
gridInquadratura.HeightRequest = 150;
borderInquadratura.WidthRequest = 300;
borderInquadratura.HeightRequest = 150;
}
}
protected override void OnAppearing()
{
base.OnAppearing();
barcodeReader.IsDetecting = true;
_accepted = false;
_sameCount = 0;
_lastValue = null;
}
protected override void OnDisappearing()
{
base.OnDisappearing();
barcodeReader.IsDetecting = false;
}
private async void barcodeReader_BarcodesDetected(object sender, ZXing.Net.Maui.BarcodeDetectionEventArgs e)
{
try
{
if (_accepted)
return;
var now = DateTime.Now;
if (_windowStart == DateTime.MinValue ||
(now - _windowStart).TotalMilliseconds > WINDOW_MS)
{
_windowStart = now;
_readCounts.Clear();
}
var result = e.Results
.Where(r => !string.IsNullOrWhiteSpace(r.Value))
.OrderByDescending(r => r.Value.Length)
.FirstOrDefault();
if (result == null)
return;
var value = result.Value;
if (!_readCounts.ContainsKey(value))
_readCounts[value] = 0;
_readCounts[value]++;
Debug.WriteLine($"Letto: {value} ({_readCounts[value]})");
if (_readCounts[value] < REQUIRED_MATCHES)
return;
_accepted = true;
MainThread.BeginInvokeOnMainThread(async () =>
{
try
{
barcodeReader.IsDetecting = false;
resultLabel.Text = $"Codice: {value}";
Global.resultBarcode = value;
await Task.Delay(300);
await Navigation.PopAsync();
}
catch (Exception ex)
{
await DisplayAlert("UI ERROR", ex.Message, "OK");
}
});
}
catch (Exception ex)
{
await App.Current.MainPage.DisplayAlert("ERROR CAMERA VIEW", ex.Message, "OK");
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... y-slow-and
Приложение .NET 9.0 MAUI+ Camera.MAUI.ZXing ver. 1.0.0. Считыватель штрих-кода работает очень медленно и считывает разны ⇐ C#
Место общения программистов C#
1768996885
Anonymous
Мне нужно создать приложение Android с MAUI на .NET 9.0 и использовать старый планшет с 32-разрядным процессором.
Информация о планшете: 2018, версия Android 10, API 29, Java VM ART 2.1.0, архитектура ядра Armv8l, Armeabi-7a/armeabi.
Я установил Camera.MAUI.ZXing для чтения штрих-кода.
В приложении я отображаю прочитанный штрих-код, если считыватель штрих-кода считывает одно и то же значение хотя бы дважды, даже если они не последовательные.
Проблема в том, что часто ничего не отображается, или если штрих-код отображается, это занимает много времени, но я не могу ждать так долго, поэтому мне нужно прочитать штрих-код быстрее.
В код, я настроил как чтение штрих-кода, так и чтение QR-кода.
Когда я читаю QR-код, он работает быстро и всегда дает один и тот же результат.
Почему QR-код считывается правильно, но возникают трудности с чтением штрих-кода?
Возможно ли, что это проблема с фокусом или областью, в которой установлен код?
На телефоне Android нового поколения считывание происходит быстро и стабильно.
Я бы хотел использовать эти планшеты, даже если они довольно старые.
Информацию о камере я прикрепил.
Это код:
using System.Diagnostics;
using ZXing;
namespace GestMagazzino;
public partial class CameraView : ContentPage
{
bool isHandlingResult = false;
string _lastValue;
int _sameCount;
Dictionary _readCounts = new();
DateTime _windowStart = DateTime.MinValue;
const int REQUIRED_MATCHES = 2;
const int WINDOW_MS = 1500;
bool _accepted;
public CameraView()
{
InitializeComponent();
barcodeReader.Options = new ZXing.Net.Maui.BarcodeReaderOptions
{
Formats = ZXing.Net.Maui.BarcodeFormat.Code128 | ZXing.Net.Maui.BarcodeFormat.QrCode | ZXing.Net.Maui.BarcodeFormat.Ean13 | ZXing.Net.Maui.BarcodeFormat.Ean8 |
ZXing.Net.Maui.BarcodeFormat.Code39,
AutoRotate = true,
Multiple = false
};
if (Global.typeCode == enTypeCode.barcode)
{
gridInquadratura.WidthRequest = 300;
gridInquadratura.HeightRequest = 150;
borderInquadratura.WidthRequest = 300;
borderInquadratura.HeightRequest = 150;
}
}
protected override void OnAppearing()
{
base.OnAppearing();
barcodeReader.IsDetecting = true;
_accepted = false;
_sameCount = 0;
_lastValue = null;
}
protected override void OnDisappearing()
{
base.OnDisappearing();
barcodeReader.IsDetecting = false;
}
private async void barcodeReader_BarcodesDetected(object sender, ZXing.Net.Maui.BarcodeDetectionEventArgs e)
{
try
{
if (_accepted)
return;
var now = DateTime.Now;
if (_windowStart == DateTime.MinValue ||
(now - _windowStart).TotalMilliseconds > WINDOW_MS)
{
_windowStart = now;
_readCounts.Clear();
}
var result = e.Results
.Where(r => !string.IsNullOrWhiteSpace(r.Value))
.OrderByDescending(r => r.Value.Length)
.FirstOrDefault();
if (result == null)
return;
var value = result.Value;
if (!_readCounts.ContainsKey(value))
_readCounts[value] = 0;
_readCounts[value]++;
Debug.WriteLine($"Letto: {value} ({_readCounts[value]})");
if (_readCounts[value] < REQUIRED_MATCHES)
return;
_accepted = true;
MainThread.BeginInvokeOnMainThread(async () =>
{
try
{
barcodeReader.IsDetecting = false;
resultLabel.Text = $"Codice: {value}";
Global.resultBarcode = value;
await Task.Delay(300);
await Navigation.PopAsync();
}
catch (Exception ex)
{
await DisplayAlert("UI ERROR", ex.Message, "OK");
}
});
}
catch (Exception ex)
{
await App.Current.MainPage.DisplayAlert("ERROR CAMERA VIEW", ex.Message, "OK");
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79871238/app-net-9-0-maui-camera-maui-zxing-ver-1-0-0-barcode-reader-is-very-slow-and[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия