Mik*_*ike 5 silverlight webcam
我正在使用Silverlight 4来访问网络摄像头.当我在按钮点击事件上启动网络摄像头时,一切正常,我得到了许可提示.我希望在用户控件加载时启动网络摄像头,但出于某种原因,当我在Loaded事件上运行相同的代码时,我在执行以下代码时没有得到提示:'
CaptureDeviceConfiguration.RequestDeviceAccess()
有没有人为此工作?
访问本地设备的安全性非常严格。开始捕获之前必须先执行用户操作。
您必须将其移动到 Click 事件,而不是从加载的事件开始捕获。
背后代码:
public void StartCam()
{
VideoCaptureDevice dev = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();
if(CaptureDeviceConfiguration.RequestDeviceAccess() &&
CaptureDeviceConfiguration.AllowedDeviceAccess)
{
CaptureSource capture = new CaptureSource();
capture.VideoCaptureDevice = dev;
VideoBrush videoBrush = new VideoBrush();
videoBrush.SetSource(capture);
capture.Start();
WebCamRectangle.Fill = videoBrush;
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
StartCam();
}
Run Code Online (Sandbox Code Playgroud)
XML:
<Grid x:Name="LayoutRoot" Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="49*" />
<RowDefinition Height="251*" />
</Grid.RowDefinitions>
<Rectangle Name="WebCamRectangle"
Stroke="Black" StrokeThickness="1" Grid.Row="1" />
<Button Content="Start" Height="25" HorizontalAlignment="Left"
Margin="12,12,0,0" Name="button1" VerticalAlignment="Top"
Width="135" Click="button1_Click" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1207 次 |
| 最近记录: |