Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 3 > Вызов класса камеры


Автор: chiffa 16.12.2011, 16:06
Добрый день всем. В связи с необходимость пришлось осваивать AS лошадиными скачками. Пишу на PHP, Delphi, Java-Script, немного С#. Больше всего ActionScript по своей структуре напоминает Java-Script (со смесью С-подобных), ну это лирическое отступление. Задача стоит получить видео и аудио с веб-камеры и передать его на сервер, допустим на FMS. По сути рабочие пример в сети есть, но хочется разобрать самому. Нашел на сайте Адобе такое:

Код

package {
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.*;
    import flash.media.Camera;
    import flash.media.Video;

    public class CameraExample extends Sprite {
        private var video:Video;
        
        public function CameraExample() {
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
            
            var camera:Camera = Camera.getCamera();
            
            if (camera != null) {
                camera.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
                video = new Video(camera.width * 2, camera.height * 2);
                video.attachCamera(camera);
                addChild(video);
            } else {
                trace("You need a camera.");
            }
        }
        
        private function activityHandler(event:ActivityEvent):void {
            trace("activityHandler: " + event);
        }
    }
}




Все работает на ура и даже выводит картинку, но возникло несколько вопросов:
1. Как улучшить качество отображаемой картинки (в том же скайпе качество картинки лучше);
2. Могу ли я как то вывести изображение на центральную рабочию область, а какой то созданный объект (а-ля трансляция на Panel в Delphi)
3. В основной fla файл подключаю camera.as (в свойствах документа - class) с выше описанным кодом, при запуски мувика проигрывание начинается сразу же: а как сделать что изображение появлялось только после нажатия на кнопку (кроме как поставить во второй фрейм и при нажатии goandplay (2)).

Не сочтите за наглость вышеописанное smile Буду признателен за помощь!

Автор: SoWa 17.12.2011, 13:43
1. Смотри методы http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/flash/media/Camera.html?filter_flex=4.1&filter_flashplayer=10.2&filter_air=2.6.
2. Вопроса не понял, поясни пожалуйста.
3. Во втором фрейме на событии входа во фрейм напиши вызывающий код твой. Я подозреваю, что это будет нечто типа var cam = new camera();
Где camera - это твой класс, а Camera - экшнскриптовый.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)