2014-07-01 54 views
0

我创建了一个自定义相机应用程序,并在两者上安装了它们,但它们的工作方式并不相同。galaxy note pro和galaxy note 2之间的相机问题

当我触摸银河注2的屏幕时,图像冻结,而在笔记亲,它只是恢复,并没有冻结。

什么似乎是问题或我应该注意?

他们使用相同的代码拍照。

preview.setOnClickListener(new View.OnClickListener() { 
     @SuppressLint("NewApi") 
     @Override 
     @SuppressWarnings("null") 
     public void onClick(View v) { 
      mCamera.takePicture(null, null, mPicture); 
      View view = getWindow().getDecorView().findViewById(R.id.picture); 
      view.setDrawingCacheEnabled(true); 
      view.buildDrawingCache(); 
      Bitmap bitmap = view.getDrawingCache(); 
      saveBitmap(bitmap); 
      view.destroyDrawingCache();    
     } 
    }); 

回答

0

当我触摸GALAXY NOTE 2的画面,图像冻结,而在注释Pro,它只是恢复和不冻结。

Camera API与硬件相关,因此它们可能在不同的设备上执行不同的操作。

使用相同的码进行拍照

你应该在回叫照片:

Camera.PictureCallback mPicture = new Camera.PictureCallback(){ 
    onPictureTaken(byte[] data, Camera camera) { 
     try { 
        FileOutputStream output = new FileOutputStream("/sdcard/preview.jpg"); 
        output.write(data); 
        output.flush(); 
        output.close(); 
      } catch (IOException e) { 
      } 
    } 
}; 
public void onClick(View v) { 
      mCamera.takePicture(null, null, mPicture);    
} 
1

Documentation状态清楚:

  • 拍摄照片后,预览显示将停止。要拍摄更多的照片,请拨打startPreview()再次第一
  • 注意Pro不停止显示,但这不是一个标准的行为。

    +0

    刚刚在三星Galaxy S6上注意到了这一点。你能确认这是一些三星设备的默认行为吗? –

    +0

    @ChristophPacher:不,我不能确认这种说法,即使是“一些”三星设备。问题是,为什么这个问题会打扰你?某些三星设备上的非标准行为是否需要一些特殊的非标准处理? –

    +0

    是的,它的确如此。我想在拍照时停止预览。当手动停止预览时,我的UI线程被阻塞,并且在后台线程中停止预览时,停止延迟太多。 –