ADOBE AIR 24+
摄像头请求权限:
<android>
<manifestAdditions><![CDATA[<manifest>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
</manifest>]]></manifestAdditions>
</android>
code:
package
{
import
flash.display.Sprite;
import
flash.display.StageAlign;
import
flash.display.StageScaleMode;
import
flash.events.PermissionEvent;
import
flash.media.Camera;
import
flash.media.Video;
import
flash.permissions.PermissionStatus;
public
class
codeSnippet
extends
Sprite
{
private
var
video:Video;
private
var
cam:Camera;
public
function
codeSnippet()
{
super
();
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
if
(Camera.isSupported)
{
cam = Camera.getCamera();
if
(Camera.permissionStatus != PermissionStatus.GRANTED)
{
cam.addEventListener(PermissionEvent.PERMISSION_STATUS,
function
(e:PermissionEvent):
void
{
if
(e.status == PermissionStatus.GRANTED)
{
connectCamera();
}
else
{
// permission denied
}
});
try
{
cam.requestPermission();
}
catch
(e:Error)
{
// another request is in progress
}
}
else
{
connectCamera();
}
}
}
private
function
connectCamera():
void
{
video =
new
Video(
640
,
480
);
video.attachCamera(cam);
addChild(video);
}
}
}
读取文件夹,camera 换成 file,同道理。