2016-07-01 3 views
0

Я новичок в google-project-tango. Я хочу создать приложение облачных точек, аналогичное Google Explorer. Я просмотрел предварительный просмотр камеры и добавил код. Я не могу видеть подачу камеры в верхнем правом углу. Вот мой код:Добавление наложения видео в java-point-cloud-example

@Override protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_jpoint_cloud); 

    mTangoCameraPreview = (TangoCameraPreview)findViewById(R.id.VideoOverLay); 
    mRenderer = setupGLViewAndRenderer(); 
    mPointCloudManager = new TangoPointCloudManager(); 
    mTangoUx = setupTangoUxAndLayout(); 

    setupTextViewsAndButtons(); 
} 

Это метод подключения танго:

private void connectTango() { 
    // Connect to color camera 
    mTangoCameraPreview.connectToTangoCamera(mTango, 
      TangoCameraIntrinsics.TANGO_CAMERA_COLOR); 

    // Use the default configuration plus add depth sensing 
    TangoConfig config = mTango.getConfig(TangoConfig.CONFIG_TYPE_DEFAULT); 
    config.putBoolean(TangoConfig.KEY_BOOLEAN_DEPTH, true); 
    mTango.connect(config); 
    mIsConnected.set(true); 

    // Listen for new Tango data 
    mTango.connectListener(FRAME_PAIRS, new OnTangoUpdateListener() { 
     @Override 
     public void onPoseAvailable(final TangoPoseData pose) { 
      // Passing in the pose data to UX library produce exceptions. 
      if (mTangoUx != null) { 
       mTangoUx.updatePoseStatus(pose.statusCode); 
      } 
     } 

     @Override 
     public void onXyzIjAvailable(final TangoXyzIjData xyzIj) { 
      if (mTangoUx != null) { 
       mTangoUx.updateXyzCount(xyzIj.xyzCount); 
      } 
      mPointCloudManager.updateXyzIj(xyzIj); 

      final double currentTimeStamp = xyzIj.timestamp; 
      final double pointCloudFrameDelta = (currentTimeStamp - mXyIjPreviousTimeStamp) 
        * SECS_TO_MILLISECS; 
      mXyIjPreviousTimeStamp = currentTimeStamp; 
      final double averageDepth = getAveragedDepth(xyzIj.xyz); 

      mXyzIjTimeToNextUpdate -= pointCloudFrameDelta; 

      if (mXyzIjTimeToNextUpdate < 0.0) { 
       mXyzIjTimeToNextUpdate = UPDATE_INTERVAL_MS; 
       final String pointCountString = Integer.toString(xyzIj.xyzCount); 

       runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
         mPointCountTextView.setText(pointCountString); 
         mAverageZTextView.setText(FORMAT_THREE_DECIMAL.format(averageDepth)); 
        } 
       }); 
      } 
     } 

     @Override 
     public void onTangoEvent(final TangoEvent event) { 
      if (mTangoUx != null) { 
       mTangoUx.updateTangoEvent(event); 
      } 
     } 

     @Override 
     public void onFrameAvailable(int cameraId) { 
      // Check if the frame available is for the camera we want and 
      // update its frame on the camera preview. 
      if (cameraId == TangoCameraIntrinsics.TANGO_CAMERA_COLOR) { 
       //Log.d("Message:","Camera"); 
       mTangoCameraPreview.onFrameAvailable(); 
      } 
     } 
    }); 

} 

Спасибо заранее, Gurjeet Сингх

ответ

1

Я нашел решение этой проблемы. Используйте класс TangoTextureCameraPreview, а не TangoCameraPreview

Смежные вопросы