İlk metro tarzı uygulamamı yazıyorum. Günler önce bu örnek (here) dayalı fotoğraf çekmek için kod yazdım ve çalışır. Windows 8 sürüm önizlemesi ve görsel stüdyo 2012 sürümü adayı ile aynı snippet çalışmıyor. Kameraya erişim ile ilgili bir sorun var gibi görünüyor ama Package.appxmanifest webcam yeteneği kontrol ettim. xaml:Metro tarzı uygulama medya yakalama istisnası
<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>
Ve arkasında kod:
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);
}
}
istisna şudur: "erişim engellendi (HRESULT özel durum: 0x80070005 (E_ACCESSDENIED))" ama söylenen gibi, web kamerası yeteneği kontrol edilir!
Bu cevabı kabul edin. :) –
MediaCapture sınıfını, yalnızca InitializeAsync(); Öyle söyleniyor ki, bütün bu çılgın bilinmeyen hataları, muhtemelen farklı nedenlerden dolayı alıyorum. – user1103976
Mikrofonu kontrol ettikten sonra bile aynı hatayı alıyorum. –