Как повысить качество камеры с помощью AS3? - PullRequest
5 голосов
/ 14 июня 2011

Я пытаюсь использовать приложение для веб-камеры. Я запустил код так:

import flash.media.Camera;
import flash.media.Video;
var cam:Camera = Camera.getCamera();
a.vid1.attachCamera(cam);
a.vid1.smoothing = true;

Моя проблема в том, что качество видео. Я использую компьютер iMac, в котором качество камеры хорошее. Есть ли способ повысить качество вывода камеры?

Спасибо за помощь.

Ответы [ 2 ]

10 голосов
/ 14 июня 2011

Вот пример кода

package
{
    import flash.display.DisplayObject;
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.ActivityEvent;
    import flash.events.MouseEvent;
    import flash.media.Camera;
    import flash.media.Video;

    public class iosTest extends Sprite
    {

        private var cam:Camera;
        private var vid:Video;


        public function iosTest()
        {
            super();

            // support autoOrients
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;
            cam = Camera.getCamera();

            if (!cam) 
            {
                trace("No camera is installed.");
            }
            else 
            {
                connectCamera();
            }
        }

        private function connectCamera():void 
        {
            cam.setMode(640, 480, 25); 
            cam.setQuality(0,100);
            vid             = new Video();
            vid.width       = cam.width;
            vid.height      = cam.height; 
            vid.attachCamera(cam);
            addChild(vid);    

            stage.addEventListener(MouseEvent.CLICK, clickHandler);
        }

        private function clickHandler(e:MouseEvent):void 
        {

            return;

            switch (cam.width) {
                case 160:
                    cam.setMode(320, 240, 10); 
                    break;
                case 320:
                    cam.setMode(640, 480, 5); 
                    break;
                default:
                    cam.setMode(160, 120, 15); 
                    break;
            } 
            removeChild(vid);           
            connectCamera();
        }

    }
}
3 голосов
/ 14 июня 2011

Использование setQuality()

Параметры

пропускная способность: int - Определяет максимальноепропускная способность, которую может использовать текущий исходящий видеопоток, в байтах в секунду.Чтобы указать, что видео Flash Player может использовать столько пропускной способности, сколько необходимо для поддержания значения качества, передайте 0 для пропускной способности.Значением по умолчанию является 16384. quality: int - Целое число, которое указывает требуемый уровень качества изображения, определяемый степенью сжатия, применяемого к каждому видеокадру.Допустимые значения: от 1 (низкое качество, максимальное сжатие) до 100 (высшее качество, без сжатия).Чтобы указать, что качество изображения может изменяться по мере необходимости, чтобы избежать превышения полосы пропускания, передайте 0 для качества.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...