2012-11-28 7 views
0

Windows Phone Dev Center에서이 basic camera sample code을 다운로드했습니다. 그런 다음 해당 프로젝트에서 void cam_CaptureImageAvailable(Object sender, Microsoft.Devices.ContentReadyEventArgs e) 메서드의 맨 위에이 줄을 추가했습니다. 여기서 변수 cam은 PhotoCamera 유형입니다.기본 Windows Phone 8 카메라 앱에서 InvalidOperationException이 발생했습니다.

Size camRes = cam.PreviewResolution; 
int[] imgdata = new int[(int)((camRes.Height*camRes.Width)+1)]; 
cam.GetPreviewBufferArgb32(imgdata); 
//Code to perform manipulations on the frame follows 

나는 cam.GetPreviewBufferArgb32(imgdata);에 InvalidOperationException이납니다. msdn의 relevant troubleshooting exceptions page은 그 내용을

으로 지정합니다. 메서드 호출 실패가 잘못된 인수 이외의 다른 원인으로 인해 발생하는 경우 InvalidOperationException 예외가 throw됩니다. 기본 Win32 메서드를 호출 할 수없는 경우 .NET Framework 메서드에서이 문제가 발생할 수 있습니다.

또한 문제 해결 페이지에서 언급 한 외부 스레드에서 그래픽 개체에 액세스 할 수 없다는 점도 언급되어 있지만 기본 응용 프로그램이며 하나의 스레드에서만 실행됩니다.

저는 Windows Phone에서 앱을 개발하는 데있어 완벽한 초보자이며이 예외의 원인을 파악할 수 없습니다. 예외의 원인에 대해 제안하십시오.

답변

0

this sample과 같이 미리보기 프레임을 가져 오는 다른 스레드를 생성하여 해결할 수 있습니다.