有什么方法可以记录 Flash 播放器显示的内容吗?我曾想过每秒对帧缓冲区内容进行 30 次采样,但我不确定这在 Windows 下是否可行。
注意:我知道有很多软件可以将 swf 转换为 avi,但我想以编程方式进行,因为我的目标不是将它们作为 avi 或 sth 保存到我的磁盘中。
有什么方法可以记录 Flash 播放器显示的内容吗?我曾想过每秒对帧缓冲区内容进行 30 次采样,但我不确定这在 Windows 下是否可行。
注意:我知道有很多软件可以将 swf 转换为 avi,但我想以编程方式进行,因为我的目标不是将它们作为 avi 或 sth 保存到我的磁盘中。
您可以获得任何 DisplayObject 的 BitmapData,我想如果您有一些父类,继承自 Sprite 或 MovieClip,您可以在其中显示所有内容,您可以获得该父对象的 BitmapData,这将是您的 flash 电影的“屏幕截图”。我通常使用 next 函数来获取 BitmapData;
function getBitmapData( target:DisplayObject ) : BitmapData{
var bd : BitmapData = new BitmapData( target.width, target.height,true, 0x0 );
bd.draw( target );
return bd;
}
因此,您可以创建您的 swf 的“屏幕截图”,并将它们保存在一些位图数组或您喜欢的任何其他方式中。