Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
FMX Android Barkod Scanner - [ÇÖZÜLDÜ]
#11
(07-11-2023, Saat: 22:27)mcuyan Adlı Kullanıcıdan Alıntı: @RAD Coder hocam bişeyi anlamadım. Ben Zxing kullanarak ean13 okutuyorum. Android gayet iyi ve hızlı fakat IOS da ciddi problemler yaşıyorum. Winsoft ile yazıştım. fakat bana kullanılabilir bi örnek gönderemediler. Yani örneği sıkıntılı idi. yoksa satın alacaktım.

Siz winsoft ve zxing i karışık mı kullanıyorsunuz?

Bir uygulamada (HES le Geç) ZXing + Winsoft camera, farklı bir uygulamamda (AVM Yönetim) ZXing + Standart CameraComponent kullanıyorum.
Her ikisinde de sorun yaşamıyorum. 
iOS tarafındaki video görüntüleri de yakında buradan paylaşırım.
Begin : = end / 2;
Cevapla
#12
@mcuyan Hocamın önerdiği kütüphane ile sorunu çözdüm çok şükür gayet hızlı ve akıcı bir şekilde okutuyor
Cevapla
#13
(07-11-2023, Saat: 13:46)RAD Coder Adlı Kullanıcıdan Alıntı: CameraComponent bileşeni ile yaptım. 
Aşağıdaki konfigürasyonları kullanıyorum. 

  FScanManager := TScanManager.Create(TBarcodeFormat.QR_CODE, nil);
 CameraComponent1.Quality := FMX.Media.TVideoCaptureQuality.MediumQuality;
 CameraComponent1.CaptureSettingPriority := TVideoCaptureSettingPriority.FrameRate;
 CameraComponent1.GetCaptureSetting.FrameRate := 42;
 CameraComponent1.FocusMode := FMX.Media.TFocusMode.ContinuousAutoFocus;

CameraComponent bileşeni Android platformunda oldukça yavaş kalıyor. Bu sorun iOS tarafında yok. iOS platformunda oldukça hızlı. 
CameraComponent yerine harici bir kamera bileşeni de kullanabilirsiniz. 

İncelediklerim arasında Media Suite for FireMonkey oldukça hızlıydı. Bunu da aşağıdaki projede kullanmıştım (ZXing + Media Suite for FireMonkey). 




Hocam buradaki FrameRate:=42 nin ne özelliği var?
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#14
(08-11-2023, Saat: 13:57)mcuyan Adlı Kullanıcıdan Alıntı:
(07-11-2023, Saat: 13:46)RAD Coder Adlı Kullanıcıdan Alıntı: CameraComponent bileşeni ile yaptım. 
Aşağıdaki konfigürasyonları kullanıyorum. 

  FScanManager := TScanManager.Create(TBarcodeFormat.QR_CODE, nil);
 CameraComponent1.Quality := FMX.Media.TVideoCaptureQuality.MediumQuality;
 CameraComponent1.CaptureSettingPriority := TVideoCaptureSettingPriority.FrameRate;
 CameraComponent1.GetCaptureSetting.FrameRate := 42;
 CameraComponent1.FocusMode := FMX.Media.TFocusMode.ContinuousAutoFocus;

CameraComponent bileşeni Android platformunda oldukça yavaş kalıyor. Bu sorun iOS tarafında yok. iOS platformunda oldukça hızlı. 
CameraComponent yerine harici bir kamera bileşeni de kullanabilirsiniz. 

İncelediklerim arasında Media Suite for FireMonkey oldukça hızlıydı. Bunu da aşağıdaki projede kullanmıştım (ZXing + Media Suite for FireMonkey). 




Hocam buradaki FrameRate:=42 nin ne özelliği var?

Standart görüntü akışı (bildiğimiz videolarda) saniyede 25-30 kare (fps)'dir. Bir saniyede daha fazla görüntü karesi almak için saniyedeki kare sayısını belirleyen FrameRate değerini, standardın üzerine çıkararark arttırdım. 
Özetle, daha hızlı okuma sağlamayı etkileyen bir parametredir. 
Bir dezavantajı var; FrameRate arttıkça iş gücü de artıyor. Dolayısıyla sistem kaynaklarını aşırı tüketiyor.
Begin : = end / 2;
Cevapla
#15
Şimdi sşöyle sorayım; KAmerası iyi yada kötü olan cihazlarda bu ayarı yine de kullanabilirmiyiz? örneğin bi samsung s22ultra da illaki frame rate'i 42 ye çıkabilir. fakat çok eski bi cihazda da varmıdır bu özellik? yani patlarmıyız kötü kamerası olan bi android cihazda yada ne bileyim bi iphone 5 de filan?
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#16
(08-11-2023, Saat: 14:09)mcuyan Adlı Kullanıcıdan Alıntı: Şimdi sşöyle sorayım; KAmerası iyi yada kötü olan cihazlarda bu ayarı yine de kullanabilirmiyiz? örneğin bi samsung s22ultra da illaki frame rate'i 42 ye çıkabilir. fakat çok eski bi cihazda da varmıdır bu özellik? yani patlarmıyız kötü kamerası olan bi android cihazda yada ne bileyim bi iphone 5 de filan?

Bu olay donanımsal bir özellik değil. Donanımsal özellik daha çok görüntü iyileştirme ile ilgilidir. 
FrameRate, CameraComponent veya benzeri bileşenlerin yazılımsal özellikleridir. Bu özellik saniyede şu kadar kareyi al bana gönder der. 
Kamera ne kadar kötü de olsa, FrameRate belirttiğiniz frameleri almaya zorlar.
Begin : = end / 2;
Cevapla
#17
anladım.. Tamam dır hocam teşekürler. çok işime yarayacak eminim. çünki IOS da ciddi problemler yaşıyordum
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#18
tavsiyem;
başlangıçda framerate 25 olarak ayarlanır,
1 timer yaratılır, interval=1sn

bir frame sayacı hazırlanır,   var FrameCounterIn1Sec=Byte=0;
her frame de 1 arttırılır,

timer eventi;
eğerki frame sayısı < 25, camera.framerate:=+1 değilse -1, = ise birşey yapmaya gerek yok.

FrameCounterIn1Sec:=0;

azami frame ratein örneğin 40 üstüne ve 15 altına inilmemeli gibi bir if yapısı kurulmalıdır.
Cevapla
#19
(07-11-2023, Saat: 22:27)mcuyan Adlı Kullanıcıdan Alıntı: @RAD Coder hocam bişeyi anlamadım. Ben Zxing kullanarak ean13 okutuyorum. Android gayet iyi ve hızlı fakat IOS da ciddi problemler yaşıyorum. Winsoft ile yazıştım. fakat bana kullanılabilir bi örnek gönderemediler. Yani örneği sıkıntılı idi. yoksa satın alacaktım.

Siz winsoft ve zxing i karışık mı kullanıyorsunuz?


Native CameraComponent, iOS 17 SDK ve ZXing, oldukça hızlı. Donma da yok.


Begin : = end / 2;
Cevapla
#20
https://github.com/FMXExpress/Firemonkey...canner.pas

Bunu kullanıyorum hiç sorun yaşamıyorum
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Çözüldü _ Delphi Community Edition SDK ayarları hatası cinarbil 1 485 12-03-2026, Saat: 10:25
Son Yorum: damert6
  Webbrowser Sorunu [ÇÖZÜLDÜ] codder71 7 421 10-02-2026, Saat: 17:04
Son Yorum: codder71
  Android Uygulama İkonu ARM 2 400 11-11-2025, Saat: 12:15
Son Yorum: ARM
  Android SDK kajmerantime 1 385 28-10-2025, Saat: 14:53
Son Yorum: cinarbil
  Android El Terminali Barkod Okuyucu Verisi tuna 0 334 17-10-2025, Saat: 01:07
Son Yorum: tuna



Konuyu Okuyanlar: