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

[as3]as3最优化摄像头视频品质

时间:2015-05-14 10:36酷播
默认情况下,Video 类的新实例为 320 像素宽乘以 240 像素高。为了最优化视频品质,应始终确保视频对象与 Camera 对象返回的视频具有相同的尺寸

[跨平台技术]基于FMS/AMS实现pc,android,ios多终端跨平台播放

默认情况下,Video 类的新实例为 320 像素宽乘以 240 像素高。为了最优化视频品质,应始终确保视频对象与 Camera 对象返回的视频具有相同的尺寸。使用 Camera 类的 widthheight 属性,您可以获取 Camera 对象的宽度和高度,然后将该视频对象的 widthheight 属性设置为与 Camera 对象的尺寸相符,也可以将 Camera 对象的宽度和高度传递给 Video 类的构造函数方法,如以下代码片断所示:

  1. var cam:Camera = Camera.getCamera();  
  2. if (cam != null)  
  3. {  
  4.     var vid:Video = new Video(cam.width, cam.height);  
  5.     vid.attachCamera(cam);  
  6.     addChild(vid);  

由于 getCamera() 方法返回对 Camera 对象的引用(在没有可用摄像头时返回 null),因此,即使用户拒绝访问其摄像头,您也可以访问 Camera 对象的方法和属性。这样可以使用摄像头的本机高度和宽度设置视频实例的尺寸。

  1. var vid:Video;  
  2. var cam:Camera = Camera.getCamera();  
  3.   
  4. if (cam == null)  
  5. {  
  6.     trace("Unable to locate available cameras.");  
  7. }  
  8. else  
  9. {  
  10.     trace("Found camera: " + cam.name);  
  11.     cam.addEventListener(StatusEvent.STATUS, statusHandler);  
  12.     vid = new Video();  
  13.     vid.attachCamera(cam);  
  14. }  
  15. function statusHandler(event:StatusEvent):void  
  16. {  
  17.     if (cam.muted)  
  18.     {  
  19.         trace("Unable to connect to active camera.");  
  20.     }  
  21.     else  
  22.     {  
  23.         // Resize Video object to match camera settings and   
  24.         // add the video to the display list.  
  25.         vid.width = cam.width;  
  26.         vid.height = cam.height;  
  27.         addChild(vid);  
  28.     }  
  29.     // Remove the status event listener.  
  30.     cam.removeEventListener(StatusEvent.STATUS, statusHandler);  

测试应用:极酷阳光跨平台播放器 http://www.cuplayer.com/CrossPlatform/

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器