Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   CameraUI в iOS - приложение падает (http://www.flasher.ru/forum/showthread.php?t=183275)

Probity 16.08.2012 22:29

CameraUI в iOS - приложение падает
 
При запуске нативной камеры iOS приложение вылетает, при этом тот же код на Android работает отлично (все синхронные-асинхронные загрузки я сделал, но даже если вообще без листенеров сделать - вместо запуска камеры вырубается приложение). CameraRoll работает отлично.

Что может не нравиться? Как система может блокировать доступ приложению к камере?

Astraport 16.08.2012 23:51

Ну давайте код.

Probity 17.08.2012 02:44

Код AS3:

 var deviceCameraApp:CameraUI = new CameraUI();
 
 public  function connectCamera(e:MouseEvent):void {
 
 if( CameraUI.isSupported )
              {
                trace( "Initializing camera..." );
 
                deviceCameraApp.addEventListener( MediaEvent.COMPLETE, imageCaptured );
                deviceCameraApp.addEventListener( Event.CANCEL, captureCanceled );
                deviceCameraApp.addEventListener( ErrorEvent.ERROR, cameraError );
                deviceCameraApp.launch( MediaType.IMAGE );
 
              }
              else
              {
                trace( "Camera interface is not supported.");
              }
        }
 
 
 public  function imageCaptured( event:MediaEvent ):void
          { 
                var imagePromise:MediaPromise = event.data;
                var imageLoader = new Loader();
                trace( "Media captured..." );
                if( imagePromise.isAsync )
              {
                trace( "Asynchronous media promise." );
 
                imageLoader.contentLoaderInfo.addEventListener( Event.COMPLETE, asyncImageLoaded );
                imageLoader.addEventListener( IOErrorEvent.IO_ERROR, cameraError );
                imageLoader.loadFilePromise( imagePromise );
              }
              else
              {
                trace( "Synchronous media promise." );
                imageLoader.loadFilePromise( imagePromise );
                showMedia( imageLoader );
                          }
 
          }
 
      public  function captureCanceled( event:Event ):void
          {
              trace( "Media capture canceled." );
              errors.text="Загрузка отменена пользователем";
 
          }
 
        public    function asyncImageLoaded( event:Event ):void
          {
              trace( "Media loaded in memory." );
              showMedia( imageLoader );   
          }
 
        public function showMedia( loader1:Loader ):void
          {
 
                bitmapData = new BitmapData(loader1.width, loader1.height, true, 0x00000000);
 
 
          }
 
    public  function cameraError( error:ErrorEvent ):void
          {
              trace( "Error:" + error.text );
              errors.text="Ошибка камеры.";
          }

По сути, код из описания CameraUI на сайте Adobe. Никаких ошибок не пишет, сразу вылет...

Astraport 17.08.2012 12:25

Проверил ваш код на iPad 2 - все работает нормально, ничего не падает.
Кстати, есть ещё ANE для работы с камерой в iOS.


Часовой пояс GMT +4, время: 00:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.