在 iOS 上,用于 CameraUI 的 AS3 MediaPromise 没有回复我
Posted
技术标签:
【中文标题】在 iOS 上,用于 CameraUI 的 AS3 MediaPromise 没有回复我【英文标题】:AS3 MediaPromise for CameraUI doesn't get back to me on iOS 【发布时间】:2017-02-06 20:33:14 【问题描述】:我需要在 AS3/Air/Starling 框架上使用 CameraUI 捕获图像。我得到 CameraUI,它打开,图像被选中,我收到一个 MediaPromise 对象。
文档中的示例提到了以下代码,用于从 ios 上的异步媒体承诺中捕获图像,但我在 onMediaLoaded 函数和 ioError 函数中都没有听到任何回调。
顺便说一句,日志行“异步模式媒体承诺”。选择照片时显示。
private function imageSelected(evt:MediaEvent):void
this.feedbackText.text = "Image Selected\n";
// Create a new imagePromise
var imagePromise:MediaPromise = evt.data;
// Open our data source
dataSource = imagePromise.open();
if(imagePromise.isAsync)
this.feedbackText.text += "Asynchronous Mode Media Promise.\n";
var eventSource:IEventDispatcher = dataSource as IEventDispatcher;
eventSource.addEventListener( Event.COMPLETE, onMediaLoaded );
eventSource.addEventListener( IOErrorEvent.IO_ERROR, ioError );
else
this.feedbackText.text += "Synchronous Mode Media Promise.\n";
readMediaData();
// =======================================================================
// onMediaLoaded
// =======================================================================
protected function onMediaLoaded( event:Event ):void
this.feedbackText.text += "Image Loaded.\n";
readMediaData();
// ========================================================================
// ioError()
// ========================================================================
protected function ioError(event:IOErrorEvent):void
this.feedbackText.text = "IOError - Unable to process photo - " + event.text;
测试设备:运行 iOS 10 的 iPhone 6 空中SDK:v22
【问题讨论】:
【参考方案1】:刚刚发现我的代码有问题,我导入了 starling.events.Event(而不是 flash.events.DataEvent),因此我的回调函数参数中的“事件”类型导致“类型强制失败”。
【讨论】:
以上是关于在 iOS 上,用于 CameraUI 的 AS3 MediaPromise 没有回复我的主要内容,如果未能解决你的问题,请参考以下文章
dismissViewControllerAnimated 自定义动画
System.setClipboard 不适用于 ios (AS3)