·您当前的位置:主页 > 技术教程 > AS2与AS3技术 >

[AS3]调整视频大小并将每秒帧数捕获率设置为新值

时间:2017-06-13 10:19酷播
舞台的设置使其不会缩放。Camera.getCamera() 方法将返回对 camera 对象的引用,如果没有可用的摄像头或未安装摄像头

在下面的示例中,当用户单击舞台时,将调整视频大小并将每秒帧数捕获率设置为新值。

舞台的设置使其不会缩放。Camera.getCamera() 方法将返回对 camera 对象的引用,如果没有可用的摄像头或未安装摄像头,则返回 null。如果存在摄像头,则调用 connectCamera() 方法。connectCamera() 方法实例化一个视频对象。要显示摄像头捕获的视频,请将对视频流的引用附加到该视频对象,并将该视频对象添加到显示列表中。还为 MouseEvent.CLICK 事件设置了一个事件侦听器。当用户单击舞台之后,将调用 clickHandler() 方法。该方法检查捕获视频的宽度并设置摄像头捕获模式的宽度、高度和每秒帧数请求速率。为了使这些设置生效,必须删除并重新创建该视频对象。还必须将该视频的宽度和高度设置为 camera 对象的宽度和高度。

  1. package { 
  2.     import flash.display.Sprite; 
  3.     import flash.media.Camera; 
  4.     import flash.media.Video; 
  5.     import flash.events.MouseEvent; 
  6.     import flash.display.StageScaleMode; 
  7.  
  8.     public class Camera_setModeExample extends Sprite { 
  9.         private var cam:Camera; 
  10.         private var vid:Video; 
  11.  
  12.         public function Camera_setModeExample() { 
  13.             stage.scaleMode = StageScaleMode.NO_SCALE; 
  14.  
  15.             cam = Camera.getCamera(); 
  16.              
  17.             if (!cam) { 
  18.                 trace("No camera is installed."); 
  19.             }else { 
  20.                 connectCamera(); 
  21.             } 
  22.         } 
  23.  
  24.         private function connectCamera():void { 
  25.             vid = new Video(); 
  26.             vid.width = cam.width; 
  27.             vid.height = cam.height;  
  28.             vid.attachCamera(cam); 
  29.             addChild(vid);     
  30.  
  31.             stage.addEventListener(MouseEvent.CLICK, clickHandler); 
  32.         } 
  33.      
  34.         private function clickHandler(e:MouseEvent):void { 
  35.  
  36.             switch (cam.width) { 
  37.                 case 160: 
  38.                 cam.setMode(320, 240, 10);  
  39.                 break; 
  40.                 case 320: 
  41.                 cam.setMode(640, 480, 5);  
  42.                 break; 
  43.                 default: 
  44.                 cam.setMode(160, 120, 15);  
  45.                 break; 
  46.             }  
  47.  
  48.             removeChild(vid);            
  49.             connectCamera(); 
  50.         } 
  51.     } 

 

保利威视云直播提供稳定流畅,高画质,低延迟的直播服务

酷播云服务,酷播云