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

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

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

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

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

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


person Patrick Lorio    schedule 25.09.2011    source источник


Ответы (1)


Без проблем. Вам нужно будет создать объект 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...
person amn    schedule 25.09.2011
comment
Что ж, он может циклически делать снимки каждые, скажем, 100 мс и отправлять буфер, полученный с помощью getPixels, по сети. Или ты задаешь мне вопрос с подвохом? - person amn; 26.09.2011