मैं नए Google बारकोड एपीआई से नमूना कोड के साथ खेल रहा हूं। यह एक बारकोड की लाइव कैमरा फ़ीड पर एक बॉक्स और बारकोड मान ओवरले करता है। (इसके अलावा चेहरे)Google Play सेवाओं में नए बारकोड API का उपयोग करके बारकोड मान कैप्चर कैसे करें?
मैं नहीं बता सकता कि मेरे ऐप में बारकोड मान कैसे वापस किया जाए। ए) कैसे पता लगाना है कि एक पहचान घटना कब हुई और बी) मेरे ऐप के अन्य हिस्सों में उपयोग के लिए ravValue तक कैसे पहुंचे। क्या कोई इसके लिए सहायता कर सकता है?
https://developers.google.com/vision/multi-tracker-tutorial
https://github.com/googlesamples/android-vision
अद्यतन: बिल्डिंग @ pm0733464 के जवाब पर, मुझे लगता है कि मैं गतिविधि में यहां पहुंच सकता है ट्रैकर वर्ग के लिए एक कॉलबैक इंटरफ़ेस (onFound कहा जाता है) जोड़ा गया। गूगल बहु ट्रैकर नमूना अनुकूल:
GraphicTracker:
class GraphicTracker<T> extends Tracker<T> {
private GraphicOverlay mOverlay;
private TrackedGraphic<T> mGraphic;
private Callback mCallback;
GraphicTracker(GraphicOverlay overlay, TrackedGraphic<T> graphic, Callback callback) {
mOverlay = overlay;
mGraphic = graphic;
mCallback = callback;
}
public interface Callback {
void onFound(String barcodeValue);
}
@Override
public void onUpdate(Detector.Detections<T> detectionResults, T item) {
mCallback.onFound(((Barcode) item).rawValue);
mOverlay.add(mGraphic);
mGraphic.updateItem(item);
}
BarcodeTrackerFactory:
class BarcodeTrackerFactory implements MultiProcessor.Factory<Barcode> {
private GraphicOverlay mGraphicOverlay;
private GraphicTracker.Callback mCallback;
BarcodeTrackerFactory(GraphicOverlay graphicOverlay, GraphicTracker.Callback callback) {
mGraphicOverlay = graphicOverlay;
mCallback = callback;
}
@Override
public Tracker<Barcode> create(Barcode barcode) {
BarcodeGraphic graphic = new BarcodeGraphic(mGraphicOverlay);
return new GraphicTracker<>(mGraphicOverlay, graphic, mCallback);
}
}
मुख्य गतिविधि:
BarcodeDetector barcodeDetector = new BarcodeDetector.Builder(context).build();
BarcodeTrackerFactory barcodeFactory = new BarcodeTrackerFactory(mGraphicOverlay, new GraphicTracker.Callback() {
@Override
public void onFound(String barcodeValue) {
Log.d(TAG, "Barcode in Multitracker = " + barcodeValue);
}
});
MultiProcessor<Barcode> barcodeMultiProcessor = new MultiProcessor.Builder<>(barcodeFactory).build();
barcodeDetector.setProcessor(barcodeMultiProcessor);
मुझे आपकी राय में अभी तक रूचि है। एपीआई के साथ आपके अनुभव क्या हैं: बारकोड को पहचानना कितना अच्छा है? इसके अलावा जब यह थोड़ा सा अंधेरा है? क्या यह तेज़ है? तो कुल मिलाकर: क्या यह ज़िक्सिंग से बेहतर प्रदर्शन कर रहा है? और आखिरकार, क्या आप एक पूरा उदाहरण प्रदान कर सकते हैं? – Dante
गिटहब पर एक नया बारकोड रीडर नमूना ऐप है: https://github.com/googlesamples/android-vision/tree/master/visionSamples/barcode-reader – pm0733464
@Dante आपके द्वारा 'कॉलबैक' के साथ साझा किया गया कोड बहुत उपयोगी था मुझे। आपका बहुत बहुत धन्यवाद! –