为什么我的代码不适用于android中的CameraRoll(as3)
这是我使用AIR的android的as3代码。 我看到别人的密码就写下了这个密码。 但它在我的android手机上不起作用。 我的密码有什么问题?帮帮我。。 我该怎么办 如果您有任何解决方案,我很高兴为您开发。为什么我的代码不适用于android中的CameraRoll(as3),android,actionscript-3,actionscript,camera,camera-roll,Android,Actionscript 3,Actionscript,Camera,Camera Roll,这是我使用AIR的android的as3代码。 我看到别人的密码就写下了这个密码。 但它在我的android手机上不起作用。 我的密码有什么问题?帮帮我。。 我该怎么办 如果您有任何解决方案,我很高兴为您开发。 我只学习了一个月的as3,你的问题中提到了一些细节,我认为这是一个权限问题,代码很好。尝试添加此权限: import flash.media.CameraRoll; import flash.display.Loader; import flash.media.MediaPromise;
我只学习了一个月的as3,你的问题中提到了一些细节,我认为这是一个权限问题,代码很好。尝试添加此权限:
import flash.media.CameraRoll;
import flash.display.Loader;
import flash.media.MediaPromise;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.MediaEvent;
import flash.events.Event;
backbtn6.addEventListener(MouseEvent.CLICK, back);
var cameraroll:CameraRoll;
var loader:Loader;
var promise:MediaPromise;
var bitmap:Bitmap;
var bitmapdata:BitmapData;
openpic.addEventListener(MouseEvent.CLICK, selectpic);
function selectpic(e:MouseEvent):void
{
if(CameraRoll.supportsBrowseForImage)
{
cameraroll = new CameraRoll();
cameraroll.addEventListener(MediaEvent.SELECT, loadpic);
cameraroll.browseForImage();
}
}
function loadpic(e:MediaEvent):void
{
promise = e.data as MediaPromise;
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, showpic);
loader.loadFilePromise(promise);
}
function showpic(e:Event):void
{
if(bitmap != null)
{
removeChild(bitmap);
}
var originalWidth:int = Bitmap(e.currentTarget.content).width;
var originalHeight:int = Bitmap(e.currentTarget.content).height;
bitmapdata = new BitmapData(originalWidth,originalHeight);
bitmap = new Bitmap(bitmapdata);
bitmap.bitmapData = Bitmap(e.currentTarget.content).bitmapData;
bitmap.x = 0;
bitmap.y = 0;
addChild(bitmap);
}
当然,不要触摸XML的其他内容,只需添加(或编辑,如果已经存在)部分…
或者简单地使用Android设置对话框中的AIR xxx,其中,xxx
是AIR的版本,可从文件菜单访问,然后转到权限选项卡,选择这样的写入外部存储权限(当然这是Flash):
如果始终没有任何结果,请尝试将ErrorEvent
事件侦听器添加到CameraRoll
对象以捕获错误:
<application xmlns="http://ns.adobe.com/air/application/15.0">
<!-- ... -->
<android>
<manifestAdditions>
<![CDATA[<manifest>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
</manifest>]]>
</manifestAdditions>
</android>
</application>
希望这能有所帮助。您有错误消息吗?“它不工作”作为问题的描述是不够的。通过说明它应该做什么和实际做什么来详细说明。我看到了我的示例apk opens cameraroll。但当我选择一个图像时,它并没有显示在我的屏幕上。
<application xmlns="http://ns.adobe.com/air/application/15.0">
<!-- ... -->
<android>
<manifestAdditions>
<![CDATA[<manifest>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
</manifest>]]>
</manifestAdditions>
</android>
</application>
cameraroll.addEventListener(
ErrorEvent.ERROR,
function(e:ErrorEvent):void {
log.text = e.text;
}
)