2012-06-04 6 views
5

첫 번째 메트로 스타일 앱을 쓰고 있습니다. 며칠 전이 샘플 (here)을 기반으로 사진을 찍기위한 코드를 작성했으며 작동합니다. Windows 8 릴리스 미리보기 및 Visual Studio 2012 릴리스 후보 릴리스로 동일한 코드 조각이 작동하지 않습니다. 카메라에 액세스하는 데 문제가있는 것으로 보이지만 Package.appxmanifest에서 웹캠 기능을 확인했습니다. XAML :메트로 스타일 앱 미디어 캡처 예외

<Canvas x:Name="previewCanvas1" Width="320" Height="240" Background='Gray'> 
<Image x:Name="imageElement1" Width="320" Height="240" Visibility="Collapsed"/> 
<CaptureElement x:Name="previewElement1" Width="320" Height="240" /> 
</Canvas> 
<StackPanel Orientation="Horizontal" Margin="20" HorizontalAlignment="Center"> 
<Button Width="120" x:Name="btnStartPreview2" Click="btnStartPreview_Click" IsEnabled="true" Margin="0,0,10,0" Background="#FFC3C3C3">Da Webcam</Button> 
<Button Width="120" x:Name="btnTakePhoto2" Click="btnTakePhoto_Click" IsEnabled="false" Margin="0,0,10,0" Background="#FFC3C3C3">Scatta</Button> 
</StackPanel> 

그리고 뒤에있는 코드 :

MediaCapture mediaCaptureMgr; 
async void btnStartPreview_Click(Object sender, RoutedEventArgs e) 
     { 
      try 
      { 

       mediaCaptureMgr = new Windows.Media.Capture.MediaCapture(); 
       await mediaCaptureMgr.InitializeAsync(); 

       previewElement1.Source = mediaCaptureMgr; 

       await mediaCaptureMgr.StartPreviewAsync(); 

      } 
      catch (Exception ex) 
      { 
       throw new Exception(ex.Message); 
      } 
     } 

예외입니다 ". 액세스가 거부되었습니다 (HRESULT에서 예외 : 0x80070005입니다 (E_ACCESSDENIED))"하지만, 웹캠 기능이 확인되었습니다!

답변

9

해결했습니다. 웹캠을 사용하려면 응용 프로그램이 웹캠에 액세스해야 함을 package.appxmanifest에 지정하고 마이크로폰을 지정해야합니다. 이상하지만 진실!

+1

이 대답을 수락하십시오. :) –

+0

InitializeAsync()를 호출 할 때 MediaCapture 클래스를 설정하여 비디오를 캡처 할 수 있습니다. 그 말은, 나는이 미친 미지의 오류를 아마도 다른 이유들로 인해 모두 가져왔다. – user1103976

+0

마이크를 확인한 후에도 동일한 오류가 발생합니다. –

관련 문제