2012-11-13 83 views
2

我試圖做一個簡單的攝像頭應用程序:UnauthorizedAccessException在網絡攝像頭應用程序

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using Windows.Foundation; 
using Windows.Foundation.Collections; 
using Windows.Media.MediaProperties; 
using Windows.UI.Xaml; 
using Windows.UI.Xaml.Controls; 
using Windows.UI.Xaml.Controls.Primitives; 
using Windows.UI.Xaml.Data; 
using Windows.UI.Xaml.Input; 
using Windows.UI.Xaml.Media; 
using Windows.UI.Xaml.Media.Imaging; 
using Windows.UI.Xaml.Navigation; 

namespace App1 
{ 
public sealed partial class MainPage : Page 
{ 
    private Windows.Media.Capture.MediaCapture m_mediaCaptureMgr; 
    private Windows.Storage.StorageFile m_photoStorageFile; 
    private readonly String PHOTO_FILE_NAME = "photo.jpg"; 

    public MainPage() 
    { 
     this.InitializeComponent(); 
    } 


    internal async void initializeCamera() 
    { 
     m_mediaCaptureMgr = new Windows.Media.Capture.MediaCapture(); 
     await m_mediaCaptureMgr.InitializeAsync(); 
     statusBox.Text = "initialized"; 
    } 
    /// <summary> 
    /// Invoked when this page is about to be displayed in a Frame. 
    /// </summary> 
    /// <param name="e">Event data that describes how this page was reached. The Parameter 
    /// property is typically used to configure the page.</param> 
    protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
    } 

    internal async void takePicture(object sender, RoutedEventArgs e) 
    { 

     m_photoStorageFile = await Windows.Storage.KnownFolders.PicturesLibrary.CreateFileAsync(PHOTO_FILE_NAME, Windows.Storage.CreationCollisionOption.GenerateUniqueName); 
     ImageEncodingProperties imageProperties = ImageEncodingProperties.CreateJpeg(); 
     await m_mediaCaptureMgr.CapturePhotoToStorageFileAsync(imageProperties, m_photoStorageFile); 
    } 

    private void initializeButton(object sender, RoutedEventArgs e) 
    { 
     initializeCamera(); 
    } 
} 

}

然而,當我點擊initializeButton,我得到了一個例外:

UnauthorizedAccessException (Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))) 

這裏有什麼問題?

編輯:我發現了這個錯誤。基本上,如果網絡攝像頭已經初始化,嘗試再次初始化它將觸發異常。所以我不得不放入一個標誌,並且一些try/catch

+0

提供更多的信息。哪一行導致此問題? –

回答

1

您是否在清單文件中設置了麥克風和網絡攝像頭的功能?

+0

我已經做了 – Chin

+0

有沒有內部異常? – ChristiaanV

0

Seect麥克風和攝像頭功能在Package.Appmnifest文件

enter image description here

+0

我已經做了 – Chin

+0

你確定你沒有訪問任何需要你定義能力的東西嗎? – Mayank

相關問題