as3运行时错误:文=不可用

时间:2013-11-13 21:46:59

标签: actionscript-3 flash air android-camera runtime-error

我试图在flash pro中使用adobe air调用cameraUi方法。我试图从文档类(main.as)调用loggedIn();方法,但我得到以下运行时错误:

Error #2044: Unhandled error:. text=unavailable

我试过尝试评论不同的代码片段,但无法找到问题区域。 bellow是我的AccessCamera类。

package Classes {
    import flash.display.*;
    import flash.media.*;
    import flash.media.Camera;
    import flash.media.CameraUI;
    import flash.events.MediaEvent;
    import flash.net.*;

    public class AccessCamera extends MovieClip {
    //-------------- CameraUI-----------------------//
        public static var ui = new CameraUI();
        public static var video = new Video();
        //------------- end Camera UI------------------//

        public function AccessCamera() {
            // constructor code
            trace ("access camera class accessed");
            loggedIn();
        }

        public function loggedIn(){         
            //------------cmaera UI---------------//
            ui.launch(MediaType.VIDEO);
            ui.addEventListener(MediaEvent.COMPLETE,UICompleteHandler);
        }
        public function UICompleteHandler(event:MediaEvent):void{
            var media:MediaPromise = event.data;
            trace(media.file.url  + " - " + media.relativePath + " - " +media.mediaType);
            parent.addChild(video);
            var conn:NetConnection = new NetConnection();
            conn.connect(null);
            //attach a stream  to the video-object
            var stream:NetStream = new NetStream(conn);
            video.attachNetStream(stream);
            stream.client = new MobileClient();
            //play the stream
            stream.play(media.file.url);
        }
    }
}
class MobileClient {
    public function onMetaData(info:Object):void {
    trace("metadata: duration=" + info.duration + " width=" + info.width + " height=" + info.height + " framerate=" + info.framerate);
    }
    public function onCuePoint(info:Object):void {
        trace("cuepoint: time=" + info.time + " name=" + info.name + " type=" + info.type);
    }
}

1 个答案:

答案 0 :(得分:1)

这个错误可能是由以下几点引起的:

  1. 没有相机访问权限。除非您使用的是移动设备(如果错误来自移动设备或桌面测试),则不支持CameraUI。在尝试使用课程
  2. 之前,您应始终检查CameraUI.isSupported
  3. 相机已经在使用中,在这种情况下你无能为力
  4. 调用launch()方法时,应用程序处于后台
  5. 您可以在ErrorEvent.ERROR对象上侦听CameraUI以捕获此特定错误。它传递的事件对象可能有更多细节。

相关问题