바코드를 처리하기 위해 자동 초점 기능을 사용하여 기본 카메라 앱을 작성하려고합니다. 카메라가 초점을 맞춘 상태에서 뒤로 누를 경우 빈 화면이 나타나고 그냥 멈추게됩니다. 아무 예외도 발생하지 않습니다. 문제를 CaptureImage() 메서드로 추적했지만 호출되는 것을 볼 수 있지만 OnCaptureImageAvailable 메서드는 호출되지 않습니다. OnNavigatedFrom 메서드에서 OnCaptureImageAvailable을 해제하지 않은 경우에도 이러한 상황이 발생합니다.WP7 카메라 CaptureImage가 사진을 찍을 때 등을 눌렀을 때 돌아 가지 않습니다.
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedFrom(e);
_camera.AutoFocusCompleted -= OnCameraAutoFocusCompleted;
_camera.CaptureImageAvailable -= OnCaptureImageAvailable;
_camera.Initialized -= OnCameraInitialized;
_camera.Dispose();
_camera = null;
}
private void InitializeCamera()
{
_camera = new PhotoCamera();
_camera.Initialized += OnCameraInitialized;
viewfinderBrush.SetSource(_camera);
}
void OnCameraInitialized(object sender, EventArgs e)
{
_camera.Initialized -= OnCameraInitialized;
_camera.AutoFocusCompleted += OnCameraAutoFocusCompleted;
_camera.CaptureImageAvailable += OnCaptureImageAvailable;
_camera.FlashMode = FlashMode.Off;
_camera.Focus();
}
private void OnCameraAutoFocusCompleted(object sender, EventArgs e)
{
_camera.CaptureImage();
}
private void OnCaptureImageAvailable(object sender, ContentReadyEventArgs e)
{
if (_camera != null && e.ImageStream != null)
ScanBarcode(e);
}
OnNavigateFrom에서 _camera.Dispose()를 제거하면 호출 페이지로 돌아가지만이 페이지를 다시 열 수 없습니다. 카메라가 초기화 될 준비가되지 않은 것 같습니다. 문제를 설명하기 위해 프로젝트를 업로드했습니다 :'https : // github.com/cobusbernard/CameraIssue /'. –