我正在开发一个Flash视频聊天系统。我需要从网络摄像头获取视频缓冲区字节,以便能够通过套接字服务器传输视频内容。我不知道怎么做,有没有人有任何想法?感谢。
我知道如何使用网络摄像头基础知识,代码:
var camera = Camera.getCamera();
var video = new Video(camera.width, camera.height);
video.attachCamrea(camera);
/*
I need something like
var byte_buffer = video.getBytes();
*/
我不知道该怎么做,任何帮助都会非常感激。
答案 0 :(得分: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...