首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用as3质量问题的ipad视频显示

使用as3质量问题的ipad视频显示
EN

Stack Overflow用户
提问于 2013-02-06 16:18:49
回答 1查看 457关注 0票数 0

我可以使用as3代码在ipad上安装前置摄像头,但视频质量非常低。我使用了下面的代码

代码语言:javascript
复制
camera=Camera.getCamera(frontcamIndex);
camera.setQuality (0,90);
user1video.width = 320;
user1video.height =240;
user1video.attachCamera(camera);
EN

回答 1

Stack Overflow用户

发布于 2013-02-06 16:54:57

在下面的代码中设置一个setMode函数。

camera.setMode(320, 240, <#your value#>);

请参阅以下文档。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Camera.html#setMode()

我推荐了CameraUI。CameraUI类允许您使用设备上的默认相机应用程序捕获静止图像或视频。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/CameraUI.html

下面的示例使用CameraUI类在设备上启动默认摄像头应用程序。当用户拍摄照片时,该示例将图像放在显示列表上。

代码语言:javascript
复制
package  {
 import flash.desktop.NativeApplication;
 import flash.display.Loader;
 import flash.display.MovieClip;
 import flash.display.StageAlign;
 import flash.display.StageScaleMode;
 import flash.events.ErrorEvent;
 import flash.events.Event;
 import flash.events.IOErrorEvent;
 import flash.events.MediaEvent;
 import flash.media.CameraUI;
 import flash.media.MediaPromise;
 import flash.media.MediaType;

     public class CameraUIStillImage extends MovieClip{

          private var deviceCameraApp:CameraUI = new CameraUI();
          private var imageLoader:Loader; 

          public function CameraUIStillImage() {
               this.stage.align = StageAlign.TOP_LEFT;
               this.stage.scaleMode = StageScaleMode.NO_SCALE;

               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.");
               }
          }

          private function imageCaptured( event:MediaEvent ):void
          {
               trace( "Media captured..." );

               var imagePromise:MediaPromise = event.data;

               if( imagePromise.isAsync )
               {
                trace( "Asynchronous media promise." );
                imageLoader = new Loader();
                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 );
               }
          }

          private function captureCanceled( event:Event ):void
          {
               trace( "Media capture canceled." );
               NativeApplication.nativeApplication.exit();
          }

          private function asyncImageLoaded( event:Event ):void
          {
               trace( "Media loaded in memory." );
               showMedia( imageLoader );    
          }

          private function showMedia( loader:Loader ):void
          {
               this.addChild( loader );
          }

          private function cameraError( error:ErrorEvent ):void
          {
               trace( "Error:" + error.text );
               NativeApplication.nativeApplication.exit();
          }
     }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14724439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档