Flash 检测摄像头是否被占用
在FMS編程中,我們經常在使用攝像頭前,要進行攝像頭的檢測,檢測是否有攝像頭或攝像頭是否可用。通常地,我們通過這種方式檢測攝像頭是否繁忙:
var temp_cam = Camera.get(); if (temp_cam == -1 ){ trace('視頻設備正忙'); } 但不知為什么,這樣的檢測方式,在我測試時,始終不能通過,我有意讓另一程序使用攝像頭,然后運行此段代碼。結果顯示攝像頭還是可用,而不是我想象的“視頻設備正忙”。
后來,我又找到了另一種檢測辦法,可謂百分百有效,方法是,把一個user_cam(Camera對象)attachVideo到一個video_vid(視頻對象)上,然后判斷user_cam.currentFps是否大于0。如果攝像頭被占用,那么user_cam.currentFps肯定不會大于0,而是等于0.
代碼如下:
function checkCamBusy(user_cam:Camera):
Void { var chkTime:Number = 0; var intervalID:Number;
function callback() {
trace(user_cam.currentFps);
if (user_cam.currentFps>0) {
?????????????????????????????????????????? //視頻設備可用 clearInterval(intervalID);
?????????????????????????????????????????? }
else {
chkTime++;
if (chkTime>30) {
//視頻設備忙
_root.video_vid.clear(); clearInterval(intervalID); } } }
intervalID = setInterval(callback, 50);
}
var user_Cam = Camera.get();
_root.video_vid.attachVideo(user_Cam);
checkCamBusy(user_Cam);
轉載于:https://www.cnblogs.com/AndySong/archive/2009/05/17/1458752.html
總結
以上是生活随笔為你收集整理的Flash 检测摄像头是否被占用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql的左连接和右连接有什么区别(内连接
- 下一篇: 【海洋女神原创】一个完整的Install