2012-11-09 42 views
0

我已经完成了访问我的网络摄像头的Silverlight应用程序。访问silverlight返回false的网络摄像头

代码:

public MainPage() 
{ 
    InitializeComponent();  

    if (CaptureDeviceConfiguration.AllowedDeviceAccess || CaptureDeviceConfiguration.RequestDeviceAccess()) 
    { 
     snapshot.Visibility = Visibility.Collapsed; 
     src.Start(); 
    } 
    // Event Wiring 
    //cameraButton.Click += new RoutedEventHandler(cameraButton_Click); 
    photoButton.Click += new RoutedEventHandler(photoButton_Click); 
    saveButton.Click += new RoutedEventHandler(saveButton_Click); 

    // Setup Capture Source 
    cameraBrush.SetSource(src); 
} 

问题:

下面的函数总是返回false。我尝试在调试模式和发布模式下运行,但没有成功。

if (CaptureDeviceConfiguration.AllowedDeviceAccess || CaptureDeviceConfiguration.RequestDeviceAccess()) 
    { 
     snapshot.Visibility = Visibility.Collapsed; 
     src.Start(); 
    } 

有人能帮助我吗?

回答

0

你需要处于释放模式下它必须。没有附加调试器。 https://stackoverflow.com/a/9258569/413032

什么CaptureDeviceConfiguration.GetAvailableVideoCaptureDevices();回报?

+0

'CaptureDeviceConfiguration.GetAvailableVideoCaptureDevices();'在调试模式下返回1。我在Visual Studio中打开了一个新的解决方案,并放置了Silverlight应用程序。工作正常。但是,当我将Silverlight应用程序与我的Web App一起使用时,即使在发布模式下也不起作用。 –

+0

在您的Web项目设置=> Web部分中,选中Silverlight Debugging。在我们更改调试和发布的地方,还有一个配置管理器选项。请检查您的配置管理器调试模式选项是否全部为您的所有项目调试。 –

+0

我想我犯了一个错误。例如,我在'MainPage()'中放置了'CaptureDeviceConfiguration.RequestDeviceAccess()',并且我读到它必须在Click事件中完成。 –