我一直在进行一些挖掘,但无法找到我的问题的答案。我不是 Flash 开发人员,所以请原谅我可能包含的任何错误信息。
本质上,我想将 OSMF VideoElement 的帧导出到 HTML5<canvas>
元素。在进行了一些挖掘之后,看起来可以使用 BitmapData 对象捕获当前帧。
或者,可以通过 Flash-JS 桥接接口公开原始 BitmapData 吗?这对我来说可能就足够了,尽管速度很慢。任何帮助表示赞赏!
我一直在进行一些挖掘,但无法找到我的问题的答案。我不是 Flash 开发人员,所以请原谅我可能包含的任何错误信息。
本质上,我想将 OSMF VideoElement 的帧导出到 HTML5<canvas>
元素。在进行了一些挖掘之后,看起来可以使用 BitmapData 对象捕获当前帧。
或者,可以通过 Flash-JS 桥接接口公开原始 BitmapData 吗?这对我来说可能就足够了,尽管速度很慢。任何帮助表示赞赏!
您可以通过 ExternalInterface 在 Flash 和 Javascript(以及画布)之间毫无问题地快速发送位图。我在此示例中使用了一种优化技术,以便在 html 页面中的图像上运行 PixelBender 过滤器:http ://www.quasimondo.com/archives/000695.php
可以在这里找到 as 和 js 源代码:http ://code.google.com/p/quasimondolibs/source/browse/#svn%2Ftrunk%2FPixelBenderForCanvas
在您的情况下,您只需要 .as 部分以比 base64 更有效的方式编码位图数据的字节并将其从 Flash 发送到 JS 以及接收数据并将其写入画布的 .js 部分。
您可以将 HTML 图像的 src 属性设置为 base64 编码的图像字符串: http ://en.wikipedia.org/wiki/Data_URI_scheme (假设您不关心旧的 IE,因为您需要它所以不关心HTML5 功能)。
之后,您可以使用 JavaScript 将图像数据绘制到画布中。
希望这会有所帮助,安德里安