如果我发布没有硬件加速的Windows Projector(.exe),一切正常,但如果我选择直接或gpu harware加速,我将不会让安全面板显示出来。其他人有同样的问题,还是仅仅是我?
基本上我想发布一个独立的网络摄像头游戏,但如果我尝试使用getCamera(),用户根本不会看到安全问题,我也不会初始化相机。
有没有人知道这方面的解决方法?我很乐意将硬件加速到我的游戏中。
import flash.system.Security;
import flash.system.SecurityPanel;
//import flash.media.Camera;
Security.showSettings(SecurityPanel.CAMERA);
//var camera:Camera=Camera.getCamera();
答案 0 :(得分:0)
我让这个工作,但我通过独立和“创建投影仪”菜单而不是通过Flash IDE创建了一台投影机。我能够使用最新的闪光灯显示面板。
编译器设置:-swf-version = 16 -use-gpu = true
//测试显示stage3D +面板 final public class Test extends Sprite {
private var cam:Camera;
private var video:Video = new Video();
public function Test():void {
var stage3D:Stage3D = stage.stage3Ds[0];
stage3D.addEventListener(Event.CONTEXT3D_CREATE, handleContext);
stage3D.requestContext3D();
trace(cam.name);
}
/**
* @private
*/
private function handleContext(e:Event):void {
var stage3D:Stage3D = stage.stage3Ds[0];
var context:Context3D = stage3D.context3D;
context.configureBackBuffer(stage.stageWidth, stage.stageHeight, 0, true);
context.clear(0,0,0,1);
context.present();
Security.showSettings(SecurityPanel.CAMERA);
cam = Camera.getCamera();
cam.setMode(640,360,30);
video.attachCamera(cam);
// change to upload via texture instead
addChild(video);
}
根据我的经验,如果不使用特定的gpu apis,硬件加速增益非常小。相机在我的经验反而加速,只有特定类型的视频解压缩。如果你没有使用Stage3D,你可能不会获得任何可见的收益。