检测摄像头和麦克风状态并自动进行处理的类

在对客户的摄像头和麦克风进行探测时,有许多的不确定性。例如,客户可能会禁用摄像头,可能有一个以上的摄像头,还可能先允许使用摄像头,再使用“属性”菜单禁用摄像头。因此,前几天升级聊天室程序的时候,就就写了这样一个类来进行处理,还可以方便在使用了摄像头和麦克风的程序中使用。

其中,Checker类仅用于检测摄像头和麦克风状态并返回;Selecter类继承Checker类,它不仅和Checker一样返回状态,同时也回根据当前的状态做出反映。例如,如果禁用了摄像头,就会显示一个按钮,单击可以打开“设置”对话框。只有当允许使用摄像头时,此按钮才会消失。如果有一个以上的摄像头,则会显示一个下拉列表并提供选择按钮。

用法可以看下面的示例,还提供了一些方法大家可以自行察看as文件。其中,检测麦克风的功能还不完善。

使用示例:

 1import cn.mediasky.media.*;
 2//建立selecter实例,必须使用main方法创建。
 3//四个参数分别为,selecter上级的影片剪辑,Depth,x位置,y位置
 4var my_selecter = Selecter.main(_root, 0, 50,20);
 5//注册为侦听器
 6my_selecter.addListener(_root);
 7//检测摄像头状态
 8my_selecter.checkCam();
 9//处理摄像头状态
10function onCamStatus(iInfo:Info):Void{
11    if(iInfo.code == "UnMuted"){
12        _root.my_video.attachVideo(iInfo.cam);
13    }else{
14        _root.my_video.clear();
15    }
16}

范例演示:

请使用下面的链接升级 Flash Player 到最新版本:

安装最新的Flash Player插件

1 文件