2016-02-25 9 views
16

मैं एक कस्टम कैमरा दृश्य के साथ एक आईओएस और एंड्रॉयड आवेदन पर काम कर रहा हूँNativeScript: कस्टम कैमरा दृश्य

मैं कैमरा पूर्वावलोकन के ऊपर अपने ही यूआई की आवश्यकता है (यही कारण है कि मैं कैमरा मॉड्यूल http://docs.nativescript.org/ApiReference/camera/README का उपयोग नहीं होगा है)।

क्या मैं इसे मूल निवासी के साथ कर सकता हूं?

मुझे इस सुविधा के साथ कोई मॉड्यूल/प्लगइन नहीं मिला। क्या यह अपना खुद का मॉड्यूल लिखना मुश्किल है?

किसी भी सहायता की सराहना की जाएगी ...

धन्यवाद

+3

आप उपयोग कर सकते हैं मूल आईओएस और एंड्रॉइड एपीआई अपना कैमरा दृश्य बनाने के लिए (उदाहरण के लिए प्लेसहोल्डर का उपयोग करके) - यहां पी है छत की अवधारणा नमूना ऐप https://github.com/NickIliev/sample-cameraApp –

+0

@NickIliev - वह github उदाहरण मेरे लिए काम नहीं करता है। कुछ भी अद्यतन किया? मैं कल गिट मुद्दों पर पोस्ट करूंगा - अगर आप इसका अनुसरण कर रहे हैं – Marko

उत्तर

0

उपयोग layout.xml में SurfaceView

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

उपयोग निम्नलिखित गतिविधि कक्षा में कोड

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


      } 
संबंधित मुद्दे