未公开的Flash MX使用摄像头和麦克风的方法

发布时间:2007年03月15日      浏览次数:1646 次
摄像头:
在Library里新建Video,拖到主场景里,给个名字比如cam,然后在_root第一帧写:
_root.cam.attachVideo(Camera.get()); 播放的时候先要从右键settings里选择允许播放器使用Camera,然后如果你有Camera的话就可以看到了!
Flash MX其实有Camera这个对象,
Camera.get()方法返回当前可用摄像头的引用
Camera.names[]是一个数组,每个元素是一个系统安装的摄像头的名字。
麦克风:
_root.createEmptyMovieClip("micAudio", 1);
_root.micAudio.attachAudio(Microphone.get());
_root.myMic = Microphone.get();
_root.myMic.setUseEchoSuppression(1);//使用回声消除,0或1
_root.myMic.setRate(44);//设定采样率44kHz,其他可以是5,8,11,22kHz
_root.myMic.setSilenceLevel(5);//尚不明确
_root.myMic.setGain(25);//增益,0-100
另外,Microphone.activityLevel()返回麦克风音量,-1-100
使用环境:flash Player 6, 2004,本地使用或者flash Communication Server MX环境下。
先来做一个小的实验,请有网络摄像头的朋友做好准备。
打开flash MX,新建一个movie。选中菜单Window>Library,调出Library面板。在Library面板右上角的pop-up菜单上选中New Video选项,
在Library里面将会出现一个Video对象的图标(也是Communication的一个新对象)。
将这个东东拖进主场景,在属性面板上给它起一个名字myBox。选中菜单Window>Actions,调出,actionscipt编辑面板,选中当前的帧,写下如下的代码:
//抓取当前默认的摄像头图像
cam = Camera.get();
//把图像在flash里面播放出来
myBox.attachVideo(cam);
运行一下,会首先弹出一个安全性提示对话框,询问本地是否允许使用摄像头
确定以后,你就会看见摄像头采集的图像就能够在flash里面播放了。是不是巨简单,这就是MM公司的宗旨:不求麻烦,但求简单。嘿嘿,这是我加的台词。
当然,Camera对象和Video对象的出现主要是为了在网上运用,提供了针对Camera网络设置的一系列属性、方法和处理器。
方法:Camera.get,Camera.setKeyFrameInterval,Camera.setLoopback,Camera.setMode,Camera.setMotionLevel,Camera.setQuality;
属性:Camera.activityLevel,Camera.bandwidth,Camera.currentFps,Camera.fps,Camera.height,Camera.index,Camera.keyFrameInterval,Camera.loopback,Camera.motionLevel,Camera.motionTimeOut,Camera.muted,Camera.name,Camera.names,Camera.quality,Camera.width。
处理器:Camera.onActivity,Camera.onStatus。
这里只是提供一个介绍,有兴趣的朋友可以去MM的网www.macromedia.com找资料看的。
反正有兴趣的一定会去看,没有兴趣的翻译出来也不会看。
************************************************************
有的朋友没能看见弹出的安全性提示面板,可以这样做。
在电影上点击右键“设置”(setting...),在弹出的面板上面选择第一个标签项,去掉“记住”(remember)选项,再运行一下就行了。
---------------------如果还没有出现------------------
看到最后一个标签面板,camera面板,只有当这里检测到并出现了下拉菜单的时候,
运行上面的代码才能弹出上面的第三幅图所表示的安全性提示面板。
作者:vista
mx和2004在camera上好像差不多,有什么改进还真是不清楚
Camera 类
可用性
Flash Player 6。
说明
Camera 类主要用于 Macromedia Flash Communication Server,但也可以用在其它地方,只是在使用上受到限制。
可通过 Camera 类捕获来自连接到计算机(该计算机应运行 Macromedia Flash Player)的摄像机的视频,例如监视来自连接到本地系统的 Web 摄像机的视频输入信号。(Flash 提供类似的音频功能;有关更多信息,请参见 Microphone 类条目。)
若要创建或引用 Camera 对象,请使用 Camera.get()。
Camera 类的方法摘要
方法
说明
Camera.get()
返回默认或指定的 Camera 对象;如果没有可用的摄像机,则返回 null。
Camera.setMode()
设置摄像机捕获模式的各个方面,包括高度、宽度和每秒播放的帧数。
Camera.setMotionLevel()
指定调用 Camera.onActivity(true) 所需的运动量,并且指定在没有运动多长时间后才会调用 Camera.onActivity(false)。
Camera.setQuality()
一个整数,指定当前输出视频输入信号可以使用的最大带宽量,以每秒字节数为单位。
Camera 类的属性摘要
属性(只读)
说明
Camera.activityLevel
所检测的摄像机的运动量。
Camera.bandwidth
当前输出视频输入信号可以使用的最大带宽量,以字节为单位。
Camera.currentFps
摄像机捕获数据的速率,以每秒帧数为单位。
Camera.fps
您希望摄像机捕获数据的速率,以每秒帧数为单位。
Camera.height
当前捕获高度,以像素为单位。
Camera.index
在 Camera.names 返回的数组中反映的摄像机的索引。
Camera.motionLevel
调用 Camera.onActivity(true) 所需的运动量。
Camera.motionTimeOut
摄像机停止检测运动的时刻和调用 Camera.onActivity(false) 的时刻之间相差的毫秒数。
Camera.muted
一个布尔值,指定用户是允许还是拒绝访问摄像机。
Camera.name
摄像机硬件指定的摄像机的名称。
Camera.names
Class 属性;一个字符串数组,反映所有可用视频捕获设备(包括显卡和摄像机在内)的名称。
Camera.quality
一个整数,指定所需的图片品质级别,该级别由应用于每一视频帧的压缩量确定。
Camera.width
当前捕获宽度,以像素为单位。
Camera 类的事件处理函数摘要
事件处理函数
说明
Camera.onActivity
在摄像机开始或停止检测运动时调用。
Camera.onStatus
当用户允许或拒绝访问摄像机时调用。
Microphone 类
可用性
Flash Player 6。
说明
Microphone 类用于从运行 Flash Player 的计算机上所连接的麦克风中捕获音频。
Microphone 类主要与 Flash Communication Server 一起使用,但在没有该服务器的情况下也能以有限的方式使用,例如通过本地系统上的扬声器传送麦克风中的声音。
若要创建或引用 Microphone 对象,请使用 Microphone.get() 方法。
Microphone 类的方法概要
方法
说明
Microphone.get()
返回默认或指定的 Microphone 对象,如果麦克风不可用,则返回 null。
Microphone.setGain()
指定麦克风信号的提升量。
Microphone.setRate()
以 kHz 为单位指定麦克风的声音捕获频率。
Microphone.setSilenceLevel()
指定激活麦克风所需的音量。
Microphone.setUseEchoSuppression()
指定是否使用音频编解码器的回声抑制功能。
Microphone 类的属性概要
属性(只读)
说明
Microphone.activityLevel
麦克风所检测的音量。
Microphone.gain
麦克风在传送信号前将信号提升的增益量。
Microphone.index
当前麦克风的索引。
Microphone.muted
布尔值,指定用户是允许还是拒绝对麦克风的访问。
Microphone.name
当前声音捕获设备的名称,它由声音捕获硬件返回。
Microphone.names
类属性:字符串的数组,反映所有可用的声音捕获设备(包括声卡和麦克风)的名称。
Microphone.rate
声音捕获频率,单位为 kHz。
Microphone.silenceLevel()
激活麦克风所需的音量。
Microphone.silenceTimeout()
麦克风停止检测声音和调用 Microphone.onActivity(false) 这两个时间之间的毫秒数。
Microphone.useEchoSuppression()
布尔值,指示是否使用回声抑制。
Microphone 类的事件处理函数概要
事件处理函数
说明
Microphone.onActivity
在麦克风开始或停止检测声音时调用。
Microphone.onStatus
在用户允许或拒绝对麦克风的访问时调用。
Microphone 类的构造函数
请参见 Microphone.get()。
文章来源:http://www.mbsky.com/InfoView/Article_3160.html
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!