0

我需要使用下面的代码在 iOS 8 上使用 Adob​​e Air 从 CameraRoll 加载图像。(它也将用于从加载的图像中读取 EXIF 数据)我想尽快将位图添加addChild()到舞台随着onMediaLoadedCameraRoll功能被触发。怎么做?

var loaderCameraRoll:Loader 
var deviceCameraRoll:CameraRoll

var dataSourceCameraRoll:IDataInput;
var mediaPromiseCameraRoll:MediaPromise;

function loadImageFromCameraRoll(e:Event=null):void {
deviceCameraRoll = new CameraRoll();
deviceCameraRoll.addEventListener(MediaEvent.SELECT, onSelectCameraRoll);
deviceCameraRoll.browseForImage();
}

function onSelectCameraRoll(event:MediaEvent):void {
        mediaPromiseCameraRoll = event.data;
        dataSourceCameraRoll = mediaPromiseCameraRoll.open();
        var eventSource:IEventDispatcher = dataSourceCameraRoll as IEventDispatcher;           
        eventSource.addEventListener( Event.COMPLETE, onMediaLoadedCameraRoll );        
}

function onMediaLoadedCameraRoll(event:Event):void {
// display loaded image
}
4

1 回答 1

0

文档对此进行了说明:

data 属性是一个 MediaPromise 对象,您可以使用 Loader 类的 loadFilePromise() 方法加载该对象。

紧随其后的示例正是这样做的:

                var imagePromise:MediaPromise = event.data;
                    imageLoader.contentLoaderInfo.addEventListener( Event.COMPLETE, imageLoaded );
                    imageLoader.loadFilePromise( imagePromise );

如示例代码所示,您应该始终将 Loader 的侦听器添加到其 contentLoaderInfo 属性。

于 2014-12-18T22:32:26.100 回答