Я работаю над системой флэш-видеочата. Мне нужно получить байты видеобуфера с веб-камеры, чтобы иметь возможность передавать видеоконтент через сервер сокетов. Я не уверен, как это сделать, у кого-нибудь есть идеи? Спасибо.
Я знаю, как использовать основы веб-камеры, код:
var camera = Camera.getCamera();
var video = new Video(camera.width, camera.height);
video.attachCamrea(camera);
/*
I need something like
var byte_buffer = video.getBytes();
*/
Я не знаю, как это сделать, любая помощь будет высоко оценена.
Ответ 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...