2017-02-09 77 views
0

我有一個使用舊相機API的應用程序。在大多數設備上一切正常,但是,有些設備甚至在拍攝圖像後仍會繼續預覽。圖片回調仍然被調用,但預覽不會停止。我真的不想將圖像數據轉換爲位圖並顯示它,因爲它有一秒左右的延遲,看起來很糟糕。我想知道是否有任何解決方案可以解決不適用的設備問題?捕捉後攝像頭API不停止

我捕捉按鈕調用下面的方法

private void photoCapture() 
{ 
    if (mCamera == null) 
     return; 
    toggleBar(); 
    mCamera.takePicture(null, null, mPicture); 
    takenPicture = true; 
} 

這裏是我的回調

private Camera.PictureCallback mPicture = new Camera.PictureCallback() { 
    @Override 
    public void onPictureTaken(byte[] data, Camera camera) { 
     imageData = data; 
     Bitmap bMap = BitmapFactory.decodeByteArray(data, 0, data.length); 
     if (currentCameraId == Camera.CameraInfo.CAMERA_FACING_FRONT) { 
      frontFacing = true; 
     } 
    } 
}; 

我下了深刻的印象,在takePicture方法將自動停止預覽?沒有?

感謝

+0

請發佈您正在使用的代碼。這裏有一百萬件事情可能是錯誤的。 –

+0

剛剛編輯。如果你需要其他東西,請告訴我。在不凍結的設備上,它仍然調用回調方法。只是不會像某些設備那樣自動停止預覽。 @bremen_matt – drew

回答

0

如果要顯示錶面預覽相機,那麼你應該調用camera.stopPreview()當你想預覽停止。否則,預覽將繼續直到視圖被銷燬。