我已经在 Adobe 预发布论坛上问过这个问题,但他们保持沉默,所以我需要你的帮助!
我需要制作一个应用程序,该应用程序应该能够在实时视频流式传输到服务器期间打开/关闭 Android 设备上的闪光灯。
所以我做了和扩展。Java函数很简单:
try{
if (isOn){
camera = Camera.open();
Parameters params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(params);
} else {
camera.release();
}
} catch( Exception e ){
}
我使用带有前后摄像头的 HTC 欲望 S。当我从空中应用程序(使用 as3 camera = Camera.getCamera())进行流式传输并尝试使用此扩展程序时,它根本没有响应
所以我找到了解决方法:在闪存中,我将代码更改为:
camera = null;
nativeExtension.turnFlashOn(true);
camera = Camera.getCamera("1");
此代码仅在我使用后置摄像头时有效,但我需要传递参数“1”,它实际上是前置摄像头,但在这种情况下使用后置摄像头。无论如何 - 它工作正常。
但是当我尝试在只有后置摄像头的 HTC 上使用这个应用程序时,我卡住了......我不能使用 Camera.getCamera("1") 因为我只有“0”摄像头,即后置摄像头。所以当我使用这段代码时:
camera = null;
nativeExtension.turnFlashOn(true);
camera = Camera.getCamera("0");
我的图像在两侧(Android 应用程序和另一侧)都冻结,当闪光灯关闭时它会正常