Webcam Support in Silverlight 4.0

Salah satu fitur menarik yang ada di Silverlight 4.0 adalah dukungan terhadap webcam dan juga microphone. Sehingga sekarang anda dapat menambahkan dukungan Webcam di aplikasi RIA anda. Dalam blog post ini saya akan menunjukkan bagaimana cara menambahkan dukungan webcam dalam sebuah aplikasi Silverlight.

1. Buka Visual Studio 2010 dan buat sebuah aplikasi Silverlight. Silahkan beri nama aplikasi tersebut TestWebCam.

image

2. Sebuah jendela berjudul New Silverlight Application akan segera tampil, silahkan centang check box Host the Silverlight application in a new Web site dan pastikan bahwa Silverlight yang dipilih adalah Silverlight 4. Kemudian klik OK.

3. Silahkan buka file MainPage.xaml dan tambahkan baris kode berikut diantara tag <Grid></Grid>.

<Rectangle x:Name="Rec" 
                   Stroke="Black" 
                   Height="183" 
                   Width="362"/>
<Button x:Name="CaptureButton" 
                Content="Capture" 
                Height="22" 
                Width="90" 
                Click="Button_Click" 
                Margin="153,248,157,30" />

Kode diatas adalah kode yang akan menambahkan sebuah tombol dan kotak ke dalam silverlight. Kotak disini akan digunakan untuk menampilkan hasil tangkapan dari webcam, sedangkan tombol akan digunakan sebagai penanda dari aksi penangkapan gambar dari webcam.

4. Sekarang adalah saatnya kita mengimplementasikan kode untuk menampilkan video dari webcam. Silahkan ketikkan kode dibawah ini :

if (CaptureDeviceConfiguration.AllowedDeviceAccess || 
    CaptureDeviceConfiguration.RequestDeviceAccess())
{
    VideoCaptureDevice vcd = 
        CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();
    AudioCaptureDevice acd =         
        CaptureDeviceConfiguration.GetDefaultAudioCaptureDevice();
    if (null != vcd && null != acd)
    {
        CaptureSource cs = new CaptureSource();
        cs.VideoCaptureDevice = vcd;
        cs.AudioCaptureDevice = acd;
        cs.Start();

        VideoBrush videoBrush = new VideoBrush();
        videoBrush.Stretch = Stretch.Fill;
        videoBrush.SetSource(cs);
        Rec.Fill = videoBrush;
    }
    else
        MessageBox.Show("Error initializing Webcam or Microphone.");
}

kode diatas sebenernya cukup sederhana, yang dilakukan kode diatas sebenarnya hanyalah pertama-tama akan mencheck apalah aplikasi Silverlight ini dapat mengakses Webcam (sebuah jendela konfirmasi akan muncul ketika aplikasi ini dijalankan). Kemudian sebuah objek CaptureSource dibuat untuk mengambil data video dari Webcam dan audio dari Microphone. Kemudian objek tersebut akan menjadi sumber dari VideoBrush yang akan mengisi kotak di aplikasi silverlight.

5. Silahkan tekan F5 dan anda akan mendapatkan aplikasi seperti dibawah ini :

Cukup sederhana bukan?

cheers

Share this post: | | | |
Published Tuesday, December 1, 2009 10:38 PM by ronald

Comments

# re: Webcam Support in Silverlight 4.0

Thursday, December 17, 2009 1:42 AM by andriyadi

What about time? Dari sejak 2 tahun yang lalu nunggu fitur ini :)

Powered by Community Server (Commercial Edition), by Telligent Systems