- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FMS实验03 基于FMS的视频录制与回放
实验3 基于FMS的视频录制与回放
一 实验目的
1.掌握使用Camera类和Video类捕获摄像头上的视频的方法;
2.掌握使用publish方法发布(录制)摄像头上的视频。
二 实验设备与要求
计算机(操作系统Windows XP或其它版本),联入网络;Adobe Flash Media Server 4.5安装软件;Flash Builder 4或更高版本。
一人一组,独立完成。
三 实验准备知识
1. 摄像头编程
在编写需要连接到用户摄像头的应用程序时,需要在代码中考虑以下事项:
检查用户当前是否安装了摄像头。
检查用户是否显式允许Flash Player访问其摄像头。出于安全原因,播放器会显示“Flash Player设置”对话框,让用户选择允许还是拒绝对其摄像头的访问。这样可以防止 Flash Player在未经用户许可的情况下连接到其摄像头并广播视频流。如果用户单击允许,则应用程序即可连接到用户的摄像头。如果用户单击拒绝,则应用程序将无法访问用户的摄像头。应用程序始终应适当地处理这两种情况。
连接到用户摄像头时,执行的第一步是通过创建一个类型为Camera的变量并将其初始化为静态Camera.getCamera()方法的返回值来创建一个新的Camera实例。下一步是创建一个新的视频对象并向其附加Camera对象。第三步是向显示列表中添加该视频对象。由于 Camera类不会扩展DisplayObject类,它不能直接添加到显示列表中,因此需要执行第2步和第3步。若要显示摄像头捕获的视频,需要创建一个新的视频对象并调用attachCamera()方法。以下代码演示这三个步骤:
var cam:Camera = Camera.getCamera();
var vid:Video = new Video();
vid.attachCamera(cam);
addChild(vid);
注意,如果用户未安装摄像头,Flash Player 将不显示任何内容。
在实际情况下,需要对应用程序执行如下步骤:验证是否已安装摄像头和检测摄像头的访问权限。
(1)验证是否已安装摄像头
在尝试对 Camera 实例使用任何方法或属性之前,需要验证用户是否已安装了摄像头。检查用户是否已安装摄像头有两种方式:
检查静态 Cs 属性,该属性包含可用摄像头名称的数组。此数组通常具有一个或几个字符串,因为多数用户不太可能同时安装多个摄像头。以下代码演示如何检查 Cs 属性以查看用户是否具有可用的摄像头:
if (Cs.length 0)
{
trace(用户未安装摄像头。);
}
else
{
var cam:Camera = Camera.getCamera(); //获取默认摄像头。
}
检查静态Camera.getCamera()方法的返回值。如果没有摄像头可用或未安装摄像头,则此方法将返回null,否则返回对Camera对象的引用。以下代码演示如何检查 Camera.getCamera()方法以查看用户是否具有可用的摄像头:
var cam:Camera = Camera.getCamera();
if (cam == null)
{
trace(用户未安装摄像头。);
}
else
{
trace(用户至少安装了 1 个摄像头。);
}
由于Camera类不会扩展DisplayObject类,因此不能通过使用addChild()方法将它直接添加到显示列表中。为了显示摄像头捕获的视频,需要创建一个新的Video对象并对Video实例调用attachCamera()方法。
以下代码片断演示在存在摄像头的情况下如何附加摄像头;如果不存在摄像头,Flash Player 将不显示任何内容:
var cam:Camera = Camera.getCamera();
if (cam != null)
{
var vid:Video = new Video();
vid.attachCamera(cam);
addChild(vid);
}
(2)检测摄像头的访问权限
在可以显示摄像头输出之前,用户必须显式允许Flash Player访问该摄像头。在调用 attachCamera()方法后,Flash Player会显示“Flash Player设置”对话框,提示用户允许或拒绝Flash Player访问摄像头或麦克风。如果用户单击“允许”按钮,则会在舞台上的Video实例中显示摄像头输出。如果用户单击“拒绝”按钮,则Flash Player将无法连接到摄像头,且Video对象将不显示任何内容。
如果用户未安装摄像头,Flash Player将不会显示任何内容。如果用户安装了摄像头,Fla
文档评论(0)