Silverlight 4 içerisinde kamera görüntüsünü ekrana almak gerçekten çok kolay.
Ekrana bir rectangle ve buton atalım. C# tarafında da webcam'den ve mikrofondan sesi alıp uygulamaya aktaralım. Rectangle'ın arkaplanını webcamdan oluşturduğumuz videobrush ile dolduralım.
Gerekli olan rectangle ve button'un
XAML kodu aşağıdaki gibidir;
<Rectangle Height="264" Name="rectangle_webcam" Stroke="Black"
StrokeThickness="1" Width="328" />
<Button Content="Yakala" Height="32" Name="button_yakala"
Width="107" Click="button_yakala_Click" />
C# kodu da aşağıdaki gibidir
CaptureSource yakala;
public MainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(MainPage_Loaded);
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
yakala = new CaptureSource();
}
private void button_yakala_Click(object sender, RoutedEventArgs e)
{
if (yakala != null)
{
yakala.Stop();
yakala.AudioCaptureDevice = CaptureDeviceConfiguration.GetDefaultAudioCaptureDevice();
yakala.VideoCaptureDevice = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();
VideoBrush webcambrush = new VideoBrush();
webcambrush.SetSource(yakala);
rectangle_webcam.Fill = webcambrush;
if(CaptureDeviceConfiguration.AllowedDeviceAccess || CaptureDeviceConfiguration.RequestDeviceAccess())
{
yakala.Start();
}
}
}
Yakala butonuna bastıktan sonra Karışımıza kamera ve mikrofona erişim izni konusunda bir uyarı gelecek. Bu dialogu evet diyerek kabul ettikten sonra kamera görüntüsüne erişebiliriz.
Görüldüğü gibi artık rahatlıkla webcam görüntülerini uygulamamıza aktarabiliriz.
Kolay gelsin.