在我的php项目中,我使用了jpegcam,http://code.google.com/p/jpegcam/和当我们加载网络摄像头捕获页面时,它要求flash播放器权限"允许或拒绝",即使我拒绝了选项捕获按钮已启用。我想在加载时禁用捕获按钮,并且仅在用户允许权限时才启用!
那么如何检查用户是否允许或拒绝了隐私设置对话框中对网站的网络摄像头访问?!伙计们,任何帮助将不胜感激。:)
ActionScript 的 Camera.muted
属性就是你需要的。链接到的源将创建一个名为 camera
的私有Camera
对象。您可以将其公开或添加新方法来检查其muted
属性;
final public function has_access( ) : Boolean {
return !camera.muted;
}
通常,您会隐藏/禁用按钮,直到静音变为 false(它不太可能再次变为 true;用户必须手动打开设置框并禁用访问)。
您还可以使用侦听器来避免不断检查此值;
final public function add_access_listener( myFunc : Function ) : void {
camera.addEventListener( "status", myFunc ); // StatusEvent.STATUS
}
将像这样使用:
myWebcam.add_access_listener( myAccessFunc );
function myAccessFunc( ev : StatusEvent ) : void {
if( ev.code == "Camera.Unmuted" ) {
// video became available, enable button
} else {
// video became unavailable, disable button
}
}
// remember that the user could have granted persistent permission
// (i.e. the status will be unmuted without actually changing)
if( myWebcam.has_access( ) ) {
// video is already available, enable button
} else {
// video is not yet available, disable button
}
为了避免任何可能的内存泄漏,如果您删除了摄像头,您还应该调用removeEventListener
,但该库似乎无论如何都没有设计为这样做(并且不会删除自己的侦听器)。