`
strugglesMen
  • 浏览: 117045 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

摄像头、麦克风、剪贴板、鼠标和键盘访问

阅读更多

当 SWF 文件试图使用 Camera.get() 或 Microphone.get() 方法访问用户的摄像头或麦克风时,Flash Player 将显示一个“隐私”对话框,用户可以在该对话框中允许或拒绝对其摄像头或麦克风的访问。用户和管理用户还可以通过 mms.cfg 文件、“设置 UI”和“设置管理器”中的控制基于站点或全局禁用摄像头访问(请参阅管理员控制用户控制)。用户加以限制后,Camera.get() 和 Microphone.get() 方法均返回 null 值。可以使用 Capabilities.avHardwareDisable 属性确定是已经通过管理方式禁止了 (true) 对摄像头和麦克风的访问,还是允许 (false) 对摄像头和麦克风的访问。

System.setClipboard() 方法允许 SWF 文件用纯文本字符串替换剪贴板内容。这不会带来任何安全性风险。为避免因剪切或复制到剪贴板的密码和其它敏感数据所带来的风险,并未提供相应的 getClipboard() 方法。

运行于 Flash Player 中的应用程序只能监视在其焦点以内发生的键盘和鼠标事件。运行于 Flash Player 中的内容不能检测其它应用程序中的键盘或鼠标事件。


http://help.adobe.com/zh_CN/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7c99.html


 

//摄像头
flash.media.Camera
Camera.getCamera(); 

//麦克风
flash.media.Microphone;
Microphone.getMicrophone();


flash.system.Capabilities;
Capabilities.avHardwareDisable;


flash.system.System
System.setClipboard("");




 flash.media.Camera

 

 

使用 Camera 类可从连接到运行 Flash Player 的计算机的摄像头中捕获视频。使用 Video 类可在本地监视视频。使用 NetConnection 和 NetStream 类可将视频传输到 Flash Media Server。Flash Media Server 可以将视频流发送到其它服务器,并向运行 Flash Player 的其它客户端广播此视频流。

有关捕获音频的信息,请参阅 Microphone 类。

重要说明:Flash Player 将显示“隐私”对话框,用户可从中选择是允许还是拒绝访问摄像头。确保应用程序窗口大小至少为 215 x 138 个像素;这是显示该对话框所需的最小大小。

要创建或引用 Camera 对象,请使用 getCamera() 方法。

另请参阅:
flash.media.Microphone
语言版本:
3.0
Player 版本:
Flash 9, AIR 1.0

flash.media.Microphone
使用 Microphone 类可从连接到运行 Flash Player 或 Adobe AIR 的计算机的麦克风中捕获音频。使用 Microphone 类可在本地监视音频。使用 NetConnection 和 NetStream 类可将音频传输到 Flash Media Server。Flash Media Server 可以将音频发送到其它服务器,并向运行 Flash Player 或 Adobe AIR 的其它客户端广播此音频。

有关捕获视频的信息,请参阅 Camera 类。

重要说明:Flash Player 将显示“隐私”对话框,用户可从中选择是允许还是拒绝访问麦克风。请确保应用程序窗口大小至少为 215 x 138 像素,这是显示对话框所需的最小尺寸。

要创建或引用 Microphone 对象,请使用 Microphone.getMicrophone() 方法。

警告:对于应用程序安全沙箱以外的内容,会显示“隐私”对话框,用户可以从中选择是允许还是拒绝对麦克风的访问。此对话框要求应用程序窗口大小至少为 215 x 138 个像素。对于应用程序安全沙箱内的 Adobe AIR 内容,将允许访问麦克风,且不再显示该对话框。


另请参阅:
flash.media.Camera
语言版本:
3.0
Player 版本:
Flash 9



flash.system.Capabilities
Capabilities 类提供一些属性,这些属性描述了承载 SWF 文件的系统和播放器。例如,手机屏幕可以有 100 个正方形像素(黑白),而 PC 屏幕则可以有 1000 个正方形像素(彩色)。通过使用 Capabilities 对象来确定用户所拥有的设备的类型,可以向尽可能多的用户提供适当的内容。如果熟悉设备的功能,则可以通知服务器发送合适的 SWF 文件,或是通知 SWF 文件变更其播放方式。 Capabilities 类提供一些属性,这些属性描述了承载 HTML 内容(和 SWF 内容)的系统和运行时。通过使用 Capabilities 对象来确定用户所拥有的计算机的类型,可以向尽可能多的用户提供适当的内容。了解计算机的功能后,您可以加载适当的内容或使用代码更改其呈现方式。

但 Adobe AIR 的有些功能没有作为 Capabilities 类的属性列出。这些功能是其它类的属性:

属性 说明
NativeApplication.supportsDockIcon 操作系统是否支持系统停靠图标。
NativeApplication.supportsMenu 操作系统是否支持全局应用程序菜单栏。
NativeApplication.supportsSystemTrayIcon 操作系统是否支持系统任务栏图标。
NativeWindow.supportsMenu 操作系统是否支持窗口菜单。
NativeWindow.supportsTransparency 操作系统是否支持透明窗口。

请勿 使用 Capabilities.osCapabilities.manufacturer 来根据操作系统确定功能。以操作系统来决定功能是个不良习惯,因为如果应用程序没有考虑到所有潜在的目标操作系统,这会产生问题。建议使用与要测试的功能相对应的属性。

可使用 GETPOST HTTP 方法发送功能信息,这些信息作为一个 URL 编码的字符串存储在 Capabilities.serverString 属性中。下例显示了支持 MP3、具有 1600 x 1200 像素分辨率、运行 Windows XP 并且安装有输入法编辑器 (IME) 的计算机的服务器字符串:

A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&
     SB=f&DEB=t&V=WIN%209%2C0%2C0%2C0&M=Adobe%20Windows&
     R=1600x1200&DP=72&COL=color&AR=1.0&OS=Windows%20XP&
     L=en&PT=External&AVD=f&LFD=f&WD=f&IME=t

下表列出了 Capabilities 类的属性和相应的服务器字符串:

Capabilities 类属性 服务器字符串
avHardwareDisable AVD
hasAccessibility ACC
hasAudio A
hasAudioEncoder AE
hasEmbeddedVideo EV
hasIME IME
hasMP3 MP3
hasPrinting PR
hasScreenBroadcast SB
hasScreenPlayback SP
hasStreamingAudio SA
hasStreamingVideo SV
hasTLS TLS
hasVideoEncoder VE
isDebugger DEB
language L
localFileReadDisable LFD
manufacturer M
maxLevelIDC ML
os OS
pixelAspectRatio AR
playerType PT
screenColor COL
screenDPI DP
screenResolutionX R
screenResolutionY R
version V

 

还有一个 WD 服务器字符串,用于指定是否禁用无窗口模式。如果与 Web 浏览器不兼容或用户在 mms.cfg 文件中进行了相应设置,则可以在 Flash Player 中禁用无窗口模式。没有对应的 Capabilities 属性。

Capabilities 类的所有属性都是只读的。

语言版本:
3.0
Player 版本:
Flash 9, AIR 1.0








flash.system.System
System 类包含与发生在用户计算机上的某些操作相关的属性,如具有共享对象的操作、摄像头和麦克风的本地设置和剪贴板的使用。

其它属性和方法在 flash.system 包的其它类中:Capabilities 类、IME 类和 Security 类。

此类只包含静态方法和属性。无法创建 System 类的新实例。

另请参阅:
flash.system.Security
flash.events.IMEEvent
语言版本:
3.0
Player 版本:
Flash 9
flash.media.Camera.getCamera(name:String=null):Camera
返回对用于捕获视频的 Camera 对象的引用。要开始捕获视频,必须将 Camera 对象附加到 Video 对象(请参阅 Video.attachCamera() )。要将视频传输到 Flash Media Server,请调用 NetStream.attachCamera() 以将 Camera 对象附加到 NetStream 对象。

getCamera() 方法的多次调用会引用相同的摄像头驱动程序。因此,如果代码包含诸如 firstCam:Camera = getCamera()secondCam:Camera = getCamera() 之类的代码,则 firstCamsecondCam 会引用同一个摄像头,该摄像头为用户的默认摄像头。

通常不应为 name 参数传递值,而只是使用 getCamera() 来返回对默认摄像头的引用。通过“摄像头设置”面板(将在本节的后面进行讨论),用户可以指定 Flash Player 应使用的默认摄像头。

您不能使用 ActionScript 来设置用户用于访问摄像头的 Allow 或 Deny 权限设置,但可以显示“Adobe Flash Player 设置”摄像头设置对话框,用户可以在其中设置摄像头权限。当使用 attachCamera() 方法的 SWF 文件尝试将 getCamera() 方法返回的摄像头附加到 Video 或 NetStream 对象时,Flash Player 将显示一个对话框,用户可从中选择是允许还是拒绝访问摄像头。(确保应用程序窗口大小至少为 215 x 138 个像素;这是 Flash Player 显示该对话框所需的最小大小。)当用户对摄像头设置对话框做出响应时,Flash Player 将在指示用户响应的 status 事件中返回信息对象:Camera.muted 指示用户拒绝访问摄像头;Camera.Unmuted 指示用户允许访问摄像头。要在不处理 status 事件的情况下确定用户是拒绝还是允许访问摄像头,请使用 muted 属性。

用户可以为特定的域指定永久保密性设置,方法是在 SWF 文件播放时右键单击 (Windows 和 Linux) 或按住 Control 的同时单击 (Macintosh),选择“设置”,打开“保密性”对话框,然后选择“记住”。如果用户选择“记住”,Flash Player 将不再询问用户是允许还是拒绝此域的 SWF 文件访问摄像头。

注意:如果用户已通过选择“Flash Player 设置”对话框中的“记住”来拒绝访问摄像头,则 attachCamera() 方法将不会调用该对话框来允许或拒绝对摄像头的访问。在这种情况下,您可以通过使用 Security.showSettings(SecurityPanel.PRIVACY) 为用户显示“Flash Player 隐私”面板,提示用户更改 Allow 或 Deny 设置。

如果 getCamera() 返回 null,则表明摄像头正由另一个应用程序使用,或者系统上没有安装摄像头。要确定是否安装了任何摄像头,请使用 names.length 属性。要显示 Flash Player 的“摄像头设置”面板(让用户选择将由 getCamera() 引用的摄像头),请使用 Security.showSettings(SecurityPanel.CAMERA)

扫描硬件以找到摄像头需要花一些时间。当 Flash Player 找到至少一个摄像头后,在该播放器实例的生存期内将不再扫描硬件。不过,如果 Flash Player 没有找到任何摄像头,则在每次调用 getCamera 时都进行扫描。这在用户忘记连接摄像头时非常有用;如果 SWF 文件提供了调用 getCamera 的“重试”按钮,则用户不必重新启动该 SWF 文件,Flash Player 即可找到摄像头。

参数:
name 指定要获取哪一个摄像头,这由 names 属性返回的数组确定。对于大多数应用程序,可省略此参数来获取默认摄像头。要为此参数指定值,请使用 Camera.names 数组内从零开始的索引位置的字符串表示形式。例如,要在数组中指定第三个摄像头,请使用 Camera.getCamera("2")
返回:
如果未指定 name 参数,则此方法返回对默认摄像头的引用;或者,如果默认摄像头正由另一个应用程序使用,则此方法返回对第一个可用摄像头的引用。(如果安装了多个摄像头,则用户可以在 Flash Player 的“摄像头设置”面板中指定默认的摄像头。)如果没有可用摄像头或没有安装摄像头,则该方法返回 null
另请参阅:
index
muted
names
setMode()
status
Video.attachCamera()
语言版本:
3.0
Player 版本:
Flash 9, AIR 1.0

flash.media.Microphone.getMicrophone(index:int=-1):Microphone
返回对用于捕获音频的 Microphone 对象的引用。要开始捕获音频,您必须将 Microphone 对象附加到 NetStream 对象(请参阅 NetStream.attachAudio())。

Microphone.get() 的多次调用会引用同一个麦克风。因此,如果代码包含 mic1 = Microphone.get()mic2 = Microphone.get() 行,则 mic1mic2 将引用同一个(默认)麦克风。

如果要获取默认的麦克风,则需要使用 -1 调用 getMicrophone()。如果调用此方法时不使用任何参数,则会返回列表中的第一个麦克风。

可以使用 index 属性来获取当前 Microphone 对象的索引值。然后,可以将该值传递给 Microphone 类的其它方法。

通常,不应传递 index 的值。只需使用 Microphone.getMicrophone() 方法即可返回对默认麦克风的引用。通过使用“麦克风设置”面板,用户可以指定应用程序应使用的默认麦克风。如果传递 index 的值,则可能会引用非用户选择的其它麦克风。在极少数情况下(例如,应用程序同时从两个麦克风捕获音频),您可能会使用 index

当 SWF 文件尝试访问 Microphone.getMicrophone() 返回的对象时(例如,在调用 NetStream.attachAudio() 时),Flash Player 将显示“隐私”对话框,用户可从中选择是允许还是拒绝访问麦克风。(确保舞台大小至少为 215 x 138 个像素;这是 Flash Player 显示该对话框所需的最小大小。)

当用户对此对话框做出响应时,将分派 status 事件以指示用户的响应。还可以检查 Microphone.muted 属性以确定用户是允许还是拒绝访问麦克风。

如果 Microphone.getMicrophone() 返回 null,则表明麦克风正由其它应用程序使用,或者系统上没有安装任何麦克风。要确定是否安装了任何麦克风,请使用 Microphones.names.length。要显示 Flash Player 的“麦克风设置”面板(用户可从中选择 Microphone.getMicrophone 所引用的麦克风),请使用 Security.showSettings()

参数:
index 麦克风的索引值。
返回:
对用于捕获音频的 Microphone 对象的引用。
另请参阅:
Microphone.status
flash.net.NetStream.attachAudio()
flash.system.Security.showSettings()

语言版本:
3.0
Player 版本:
Flash 9

flash.system.Capabilities.avHardwareDisable():Boolean
[只读] 指定对用户的摄像头和麦克风的访问是已经通过管理方式禁止 (true) 还是允许 (false)。服务器字符串为 AVD

对于 Adobe AIR™ 中的内容,此属性仅适用于应用程序安全沙箱以外的安全沙箱中的内容。应用程序安全沙箱中的内容始终可以访问用户的摄像头和麦克风。

另请参阅:
flash.media.Camera.getCamera()
flash.media.Microphone.getMicrophone()
Security.showSettings()

语言版本:
3.0
Player 版本:
Flash 9, AIR 1.0

flash.system.System.setClipboard(string:String):void
用指定的文本字符串替换剪贴板的内容。当因用户事件(例如,键盘或鼠标事件处理函数)而调用此方法时,此方法可以在任何安全上下文中使用。

此方法是为 Flash Player 9 中运行的 SWF 内容提供的。它只允许向剪贴板添加 String 内容。在 AIR 应用程序中,Flash Player 10 内容和应用程序安全沙箱中的内容可以调用 Clipboard.setData() 方法。

参数:
string 要放置在系统剪贴板上的纯文本字符串,用于替换系统剪贴板上的当前内容(如果有)。
另请参阅:
flash.desktop.Clipboard
语言版本:
3.0
Player 版本:
Flash 9



























 

 

分享到:
评论

相关推荐

    神州网信摄像头麦克风开启工具

    3. 权限管理:有时摄像头和麦克风无法工作是因为应用程序没有获得足够的访问权限。该工具可能会帮助用户检查并调整系统的隐私设置,确保应用有权限使用摄像头和麦克风。 4. 故障排除:对于某些特定的问题,如设备被...

    WIN10神州网信打开摄像头,麦克风.rar

    标题中的“WIN10神州网信打开摄像头,麦克风”是指在Windows 10操作系统上,使用神州网信(China Mobile Communications Corporation,简称CMCC)的相关技术或软件来访问和操作计算机的内置摄像头和麦克风。...

    如何关闭摄像头的麦克风

    它们往往采用较为简单的麦克风元件,缺乏复杂的声音处理算法,导致采集的声音可能伴有大量背景噪音,如键盘敲击声、环境杂音等,严重影响通话清晰度和用户体验。 #### 关闭内置麦克风的方法 若想关闭摄像头的内置...

    用FFmpeg API采集摄像头视频和麦克风音频

    如果能用FFmpeg实现采集、编码和录制(或推流),那整个实现方案就简化很多,正因为这个原因,我想尝试做一个FFmpeg采集摄像头视频和麦克风音频的程序。经过一个星期的努力,终于做出来了。我打算把开发的心得和经验...

    神州政府网信版win10开启摄像头麦克风工具

    神州政府网信版win10开启摄像头麦克风工具

    关闭摄像头内置麦克风的方法.docx

    这是因为摄像头内置的麦克风就会开启,导致杂音和语音效果不佳。 解决方法是,首先,双击系统任务栏的小喇叭,发现 "音量控制" 的 "麦克风" 显示为静音。然后,进入 "选项" 的 "属性" 窗口,发现声卡默认的 "录音" ...

    使用FFmpeg采集摄像头图像和麦克风音频

    使用FFmpeg API采集摄像头图像和麦克风音频,支持图像预览,把图像和音频编码后保存成文件,实现视音频同步机制。为更好理解代码,请阅读我博客上相关的一篇文章:...

    FlashCom检查摄像头与麦克风

    4. **权限管理**:帮助用户正确设置权限,允许应用程序访问摄像头和麦克风。 5. **故障诊断**:分析并报告设备问题,提供可能的解决方案。 6. **音频/视频设置调整**:让用户能够调整摄像头和麦克风的参数,优化音...

    C#采集屏幕和摄像头画面,录制声卡音频和话筒麦克风声音并混音的源码

    通过调用它,您可以快速实现摄像头画面的采集,系统屏幕的录制,采集计算机声卡以及麦克风声音,并且可以对声卡的声音和麦克风的声音进行混音。可以应用到直播、录屏、电脑录音、远程教学、视频聊天等业务场景。

    采集并基于 rtsp 协议推流摄像头(麦克风)数据,并在 web 浏览器渲染。.zip

    标题中的“采集并基于 rtsp 协议推流摄像头(麦克风)数据,并在 web 浏览器渲染”指的是一个项目,它涉及了实时流传输协议(RTSP)、摄像头和麦克风的数据采集以及在Web浏览器中展示这些实时流数据的技术。...

    Windows 10 神州网信政府版麦克风摄像头开关工具

    这个工具的设计是为了满足特定安全需求,确保用户可以根据需要控制麦克风和摄像头的使用,防止未经授权的访问。如果你使用的是上述版本的Windows 10 神州网信政府版,你可以通过上述链接下载并使用这个工具。

    检测摄像头和麦克风状态

    1. **设备访问API**:大多数现代浏览器(如Chrome、Firefox)提供了WebRTC(Web Real-Time Communication)API,允许JavaScript直接访问用户的摄像头和麦克风。例如,`navigator.mediaDevices.getUserMedia()` 方法...

    如何使用台电摄像头麦克风.docx

    ### 如何有效使用台电摄像头内置麦克风 随着网络通讯技术的发展,摄像头逐渐成为人们日常生活中不可或缺的一部分。摄像头不仅能够捕捉图像,很多还内置有麦克风功能,方便用户进行视频通话时语音交流。然而,不少...

    QQ摄像头麦克风怎么设置.docx

    需要注意的是,不同的电脑和摄像头可能有不同的设置方式,但基本的步骤大同小异。此外,确保摄像头和麦克风驱动程序是最新的,也可以帮助提升设备的性能和兼容性。在使用过程中,如果遇到问题,可以尝试更新驱动程序...

    C#版系统自检,支持网络、摄像头、麦克风、扬声器、蓝牙检测

    在本文中,我们将深入探讨如何使用C#编程语言构建一个系统自检工具,该工具能够检测网络、摄像头、麦克风、扬声器和蓝牙设备。这个项目基于WinForm框架,提供了一个用户友好的界面,方便用户进行硬件检测。我们将...

    DirectShow使用摄像头和麦克风demo

    利用DirectShow开发摄像头获取图片,打开麦克风等功能。支持VS2005、VS2008、VS2010、VS2012、VS2013、VS2015。DirectShow(简称 DShow) 是一个 Windows 平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能...

    JMF摄像头麦克风视频音频的捕获及播放

    1. 示例代码:演示如何使用JMF API捕获摄像头视频和麦克风音频。 2. 讲解文档:解释代码的工作原理和关键步骤。 3. 测试用例:用于验证代码功能的实例。 4. 运行脚本:可能包含启动和停止捕获及播放的命令。 学习和...

    PB视频声音采集,摄像头和麦克风可选

    在这个过程中,摄像头和麦克风是关键的输入设备,它们负责捕捉图像和声音,然后通过软件进行处理和编码。 标题"PB视频声音采集,摄像头和麦克风可选"表明了这一系统支持用户根据需求选择不同的摄像头和麦克风进行...

    RTSP(RTMP)虚拟摄像头(麦克风)(非源码,水印版,不喜勿下)

    该软件注册成功后会在Windows系统内生成一个虚拟摄像头和虚拟麦克风,通过设置或修改流地址可拉取RTSP(RTMP)摄像头的图像作为摄像头内容,RTSP(RTMP)音频作为麦克风内容。该软件一次注册成功后即可使用,下次...

    摄像头TA方案麦克风语音无声烧录

    在IT行业中,摄像头和麦克风的音频处理是一个关键领域,特别是在涉及到硬件与软件的集成时。"摄像头TA方案麦克风语音无声烧录"这个主题主要关注的是如何为摄像头的音频功能进行特定的固件更新或烧录过程,以解决可能...

Global site tag (gtag.js) - Google Analytics