宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

[AS3]as3程序判断终端是否已安装摄像头(常用于视频直播)

2016-10-13 00:16:48 点击量:11 标签: 收藏本文

在尝试对 Camera 实例使用任何方法或属性之前,您需要验证用户是否已安装了摄像头。检查用户是否已安装摄像头有两种方式:

检查静态 Camera.names 属性,该属性包含可用摄像头名称的数组。此数组通常具有一个或几个字符串,因为多数用户不太可能同时安装多个摄像头。以下代码演示如何检查 Camera.names 属性以查看用户是否具有可用的摄像头:

  1. if (Camera.names.length > 0)  
  2. {  
  3.     trace("User has at least one camera installed.");  
  4.     var cam:Camera = Camera.getCamera(); // Get default camera.  
  5. }  
  6. else  
  7. {  
  8.     trace("酷播提示:User has no cameras installed.");  

检查静态 Camera.getCamera() 方法的返回值。如果没有摄像头可用或未安装摄像头,则此方法将返回 null,否则返回对 Camera 对象的引用。以下代码演示如何检查 Camera.getCamera() 方法以查看用户是否具有可用的摄像头:

  1. var cam:Camera = Camera.getCamera();  
  2. if (cam == null)  
  3. {  
  4.     trace("User has no cameras installed.");  
  5. }  
  6. else  
  7. {  
  8.     trace("User has at least 1 camera installed.");  

由于 Camera 类未扩展 DisplayObject 类,因此无法使用 addChild() 方法将其直接添加到显示列表。为了显示摄像头捕获的视频,您需要创建一个新的 Video 对象并调用该 Video 实例的 attachCamera() 方法。

以下代码片断演示在存在摄像头的情况下如何附加摄像头;如果不存在摄像头,应用程序将不显示任何内容:

  1. var cam:Camera = Camera.getCamera();  
  2. if (cam != null)  
  3. {  
  4.     var vid:Video = new Video();  
  5.     vid.attachCamera(cam);  
  6.     addChild(vid);  

 

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室