Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Flash Player AS -> веб-камера получает байты буфера

Автор вопроса: Patrick LorioОтветов: 1

Я работаю над системой флэш-видеочата. Мне нужно получить байты видеобуфера с веб-камеры, чтобы иметь возможность передавать видеоконтент через сервер сокетов. Я не уверен, как это сделать, у кого-нибудь есть идеи? Спасибо.

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

var camera = Camera.getCamera();
var video = new Video(camera.width, camera.height);
video.attachCamrea(camera);

/*
 I need something like
 var byte_buffer = video.getBytes();
*/

Я не знаю, как это сделать, любая помощь будет высоко оценена.

getwebcambyteflashactionscript-3

Ответы

Ответ 1 · рейтинг 1 · amn

Без проблем. Вам нужно будет создать объект BitmapData и "нарисовать" ваш экранный объект - тот, на который ссылается переменная video - "в" эти растровые данные. Затем вы можете получить доступ к пикселям, скажем, с помощью метода getPixels, который возвращает ByteArray, который является вашим де-факто классом буфера в Flash Player. Рисование похоже на растровую копию моментального снимка вашего экранного объекта.

Узнайте больше в справочнике Adobe ActionScript 3, который должен быть вашим лучшим другом, пока вы программируете Flash Player: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html

Вот код для иллюстрации:

var bd = new BitmapData(320, 240, false, 0x000000);
bd.draw(video);
var byte_buffer = bd.getPixels(); /// For example...

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы