新建sl项目,主界面放一个 Rectangle 名字为rtgVideo 一个按钮用来开始调用
<UserControl x:Class="VideoTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="367" d:DesignWidth="566">
<Grid x:Name="LayoutRoot" Background="White">
<Rectangle Height="240" HorizontalAlignment="Left" Margin="12,12,0,0" Name="rtgVideo" Stroke="Black" StrokeThickness="1" VerticalAlignment="Top" Width="480" />
<Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="417,258,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
</Grid>
</UserControl>
调用代码
//向用户申请使用摄像头的授权,只有得到用户授权才可以对其进行调用。
bool result = CaptureDeviceConfiguration.RequestDeviceAccess();
if (result)
{
//初始化用户默认的视频捕捉设备。
CaptureSource cs = new CaptureSource();
cs.VideoCaptureDevice = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();
//初始化一个画刷以在屏幕上绘制图像
VideoBrush videoBr = new VideoBrush();
//绑定默认视频设备
videoBr.SetSource(cs);
//填充画刷
rtgVideo.Fill = videoBr;
//开始
cs.Start();
}