Silverlight 4 中的WebCam支援
在剛推出的Silverlight 4 beta版中,終於支援了大家期待已久的WebCam功能,底下是測試頁面:
[測試]
但請注意,測試前需先安裝SL4 Developer runtimes: Windows然後才能執行,Webcam是建立網路服務應用程時相當需要的功能。
整個程式的設計方式並不複雜,主要的程式碼片段如下:
你會發現我們可以透過CaptureSource這個物件來抓取WebCam資料(其實除了WebCam還可以抓取聲音),然後把CaptureSource設為VideoBrush,並將CaptureSource設為Grid的Bbackground即可。
[測試]
但請注意,測試前需先安裝SL4 Developer runtimes: Windows然後才能執行,Webcam是建立網路服務應用程時相當需要的功能。
整個程式的設計方式並不複雜,主要的程式碼片段如下:
private void Button1_Click(object sender, RoutedEventArgs e)
{
//判斷目前啟動狀態
if (!CaptureDeviceConfiguration.AllowedDeviceAccess)
{
//透過RequestDeviceAccess要求使用者允許使用WebCam(這時畫面上會跳出Yes/No詢問視窗)
if (!CaptureDeviceConfiguration.RequestDeviceAccess())
{
MessageBox.Show("can't access device.");
return;
}
}
//建立CaptureSource
CaptureSource CaptureSource = new CaptureSource();
//建立VideoBrush
VideoBrush vb = new VideoBrush();
Grid1.Background = vb;
//將VideoBrush的Source設為CaptureSource
vb.SetSource(CaptureSource);
//start web cam
CaptureSource.Start();
Button1.Visibility = System.Windows.Visibility.Collapsed;
}
你會發現我們可以透過CaptureSource這個物件來抓取WebCam資料(其實除了WebCam還可以抓取聲音),然後把CaptureSource設為VideoBrush,並將CaptureSource設為Grid的Bbackground即可。
留言
我想請問SilverLight有沒有辦法做到類似Google Map街景服務360度觀看
"奚"、"章"二位老師的寫法,不能說不好,只是跳過太多步驟,生手往往就卡在這種"簡單到應該不用寫吧"的地方
請參考我在VS2010上市發表會的範例,有展示這個部分。
http://codestorage.ria101.com.tw/CodeStorageRIAUser.html?BookUid=5
to 匿名,
ASP.NET和ASP其實完全一樣的,只需要將Silverlight透過標記加入你的ASP頁面即可。
想請教說 現在如果我想寫一個
像測試版的webcam 一樣透過一個按钮來開啟
也是照上面的程式碼就可以嗎?
現在開啟測試網頁 就說要用正式版?
想請問正式版是在哪邊載呢?
移除後安裝後就ok了
請教David
上面的程式碼
要配合什麼元件才能使用呢??
請教一下..如果是要把視訊鏡頭是在sever端顯示 像是遠端監視器那樣
要修改哪部份呢?
因為現在測試過後 按下都是自己電腦本身的鏡頭 不會在遠端那邊!
不清楚是要改什麼指令才能達到我要的成果...
Silverligt是Run在用戶端瀏覽器上的,所以當然是抓取到用戶端的WebCam,如果你要抓取伺服器端的webCam, 再把資料傳給用戶端的Silverlight App, 那應該在伺服器端寫一個抓取WebCam的WinForm App(或Services),然後透過Web/WCF Services建立傳送影像的Method, 再由用戶端的SL應用程式呼叫即可。
但小弟對寫程式了解的不多...不知道是否有相關測試的範例可以參考??
另外請教一個問題!asp頁面在執行電腦裡的exe檔案時,有方法可以像框架固定位置嗎??
因為呼叫出來之後 都是顯示在螢幕上 可以拉動的...