2016-02-25 26 views
16
Özel bir kamera görüntüsü bir IOS ve Android uygulaması üzerinde çalışıyorum

Ben kamera önizleme yukarıda kendi UI olması gerekirNativeScript: Özel kamera görüntüsü

(i kamera modülünü http://docs.nativescript.org/ApiReference/camera/README kullanmaz bu yüzden).

Bunu Nativescript ile yapabilir miyim?

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

...

Teşekkür

+3

kullanabilirsiniz Kendi kamera görüntüsünü oluşturmak için yerel iOS ve Android API'leri (örneğin Placeholder kullanarak) - işte burada konsept çatı konsepti örneği https://github.com/NickIliev/sample-cameraApp –

+0

@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

cevap

0

Kullanım Layout.xml içinde SurfaceView

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

kullanım etkinliği sınıfında kod aşağıdaki

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() { 


      }