Soru NativeScript: özel kamera görünümü


Özel kamera görüntüsü ile iOS ve Android uygulamasında çalışıyorum (bu yüzden kamera modülünü kullanmayacağım. http://docs.nativescript.org/ApiReference/camera/README)

Kamera önizlemesinin üzerinde kendi kullanıcı arayüzüne ihtiyacım var.

Bunu Nativescript ile yapabilir miyim?

Bu özellik ile herhangi bir modül / eklenti bulamadık. Kendi modülümü yazmak zor mu?


18
2018-02-25 13:30


Menşei


Kendi kamera görünümünüzü oluşturmak için yerel iOS ve Android API'lerini kullanabilirsiniz (örneğin Yer Tutucu'yı kullanarak) - işte burada örnek bir örnek uygulamasıdır github.com/NickIliev/sample-cameraApp - Nick Iliev
@NickIliev - bu github örneği benim için çalışmıyor. Herhangi bir şey güncellendi mi? Git'e göndereceğim, yarınki günlüğü takip ediyorum - bunu takip ediyorsanız - Marko


Cevaplar:


Layout.xml'deki yüzey görünümünü kullanın

<SurfaceView
                android:id="@+id/surfaceview"
                android:layout_centerHorizontal="true"
                android:layout_width="350dp"
                android:layout_height="260dp" />

aktivite sınıfında aşağıdaki kodu kullanın

SurfaceView surfaceView;
CameraSource cameraSource;

final TextRecognizer textRecognizer = new TextRecognizer.Builder(getApplicationContext()).build();
        cameraSource = new CameraSource.Builder(getApplicationContext(), textRecognizer)
                .setFacing(CameraSource.CAMERA_FACING_BACK)
                .setAutoFocusEnabled(true)
                .build();
        surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
            @Override
            public void surfaceCreated(SurfaceHolder surfaceHolder) {

                try {
                    cameraSource.start(surfaceView.getHolder());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

            @Override
            public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {

            }

            @Override
            public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
                cameraSource.stop();
            }
        });
        textRecognizer.setProcessor(new Detector.Processor<TextBlock>() {
            @Override
            public void release() {


            }

0
2017-08-11 06:30