0

addChild()以下のコードを使用して、iOS 8 のAdob ​​e Air で CameraRoll から画像をロードする必要があります (ロードされた画像から EXIF データを読み取るためにも使用されます)。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 プロパティは、Loader クラスの loadFilePromise() メソッドを使用してロードできる MediaPromise オブジェクトです。

これに続いて、まさにそれを行う例を示します。

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

コード例に見られるように、常にローダーのリスナーをその contentLoaderInfo プロパティに追加する必要があります。

于 2014-12-18T22:32:26.100 に答える