[as3]as3最优化摄像头视频品质
默认情况下,Video 类的新实例为 320 像素宽乘以 240 像素高。为了最优化视频品质,应始终确保视频对象与 Camera 对象返回的视频具有相同的尺寸。使用 Camera 类的 width 和 height 属性,您可以获取 Camera 对象的宽度和高度,然后将该视频对象的 width 和 height 属性设置为与 Camera 对象的尺寸相符,也可以将 Camera 对象的宽度和高度传递给 Video 类的构造函数方法,如以下代码片断所示:
- var cam:Camera = Camera.getCamera();
- if (cam != null)
- {
- var vid:Video = new Video(cam.width, cam.height);
- vid.attachCamera(cam);
- addChild(vid);
- }
由于 getCamera() 方法返回对 Camera 对象的引用(在没有可用摄像头时返回 null),因此,即使用户拒绝访问其摄像头,您也可以访问 Camera 对象的方法和属性。这样可以使用摄像头的本机高度和宽度设置视频实例的尺寸。
- var vid:Video;
- var cam:Camera = Camera.getCamera();
- if (cam == null)
- {
- trace("Unable to locate available cameras.");
- }
- else
- {
- trace("Found camera: " + cam.name);
- cam.addEventListener(StatusEvent.STATUS, statusHandler);
- vid = new Video();
- vid.attachCamera(cam);
- }
- function statusHandler(event:StatusEvent):void
- {
- if (cam.muted)
- {
- trace("Unable to connect to active camera.");
- }
- else
- {
- // Resize Video object to match camera settings and
- // add the video to the display list.
- vid.width = cam.width;
- vid.height = cam.height;
- addChild(vid);
- }
- // Remove the status event listener.
- cam.removeEventListener(StatusEvent.STATUS, statusHandler);
- }
测试应用:极酷阳光跨平台播放器 http://www.cuplayer.com/CrossPlatform/
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例