2016-02-25 13 views
16

tôi đang làm việc trên một ứng dụng IOS và Android với một cái nhìn camera tùy chỉnh (đó là lý do tại sao tôi sẽ không sử dụng máy ảnh mô-đun http://docs.nativescript.org/ApiReference/camera/README)NativeScript: tùy chỉnh camera xem

tôi cần phải có giao diện người dùng riêng của tôi ở trên bản xem trước camera.

Tôi có thể thực hiện việc này bằng Nativescript không?

Tôi không thể tìm thấy bất kỳ mô-đun/plugin nào có tính năng này. Thật khó để viết mô-đun của riêng tôi?

Bất kỳ trợ giúp sẽ được đánh giá cao ...

Cảm ơn

+3

Bạn có thể sử dụng API iOS và Android gốc để tạo chế độ xem máy ảnh của riêng bạn (ví dụ: sử dụng Trình giữ chỗ) - đây là p ứng dụng mẫu trên tầng của khái niệm https://github.com/NickIliev/sample-cameraApp –

+0

@NickIliev - ví dụ về github đó không có tác dụng đối với tôi. Có gì cập nhật không? Tôi sẽ đăng bài về vấn đề git đăng nhập vào ngày mai - nếu bạn đang theo dõi điều này – Marko

Trả lời

0

Sử dụng surfaceview trong Layout.xml

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

sử dụng mã sau đây trong lớp hoạt động

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


      } 
Các vấn đề liên quan