AS3嵌入资产 - “警告:无法解析损坏的数据”

时间:2010-08-17 21:01:39

标签: actionscript-3 image video preprocessor embed

我有一个AS3项目,我试图通过[Embed]元数据编译几个图像,一个音轨和一个视频。这些是嵌入式产品的要求,因此网络传输不是一种选择。

我遇到了一些非常奇怪的行为 - 一种间歇性的编译数据损坏。有时在项目编译之后,我运行swf并立即关闭并将“警告:无法解析损坏的数据”写入闪存日志。如果我删除二进制文件并清理项目,有时它会在再次构建之后运行正常。有时却没有。

这可能是这个问题中最奇怪的部分,但有时当我看到这个错误时,我可以将视频[嵌入]行物理移动到文件的末尾,然后清理项目,它将构建并运行no问题。有时我会将它们移回文件的开头并构建并运行良好。

它似乎可能是编译器中的一个错误。还有其他人经历过类似的事吗?我的目标是Flash 10.1并使用sprout(http://projectsprouts.org)来构建我的项目。这是用于编译的mxmlc行(mxmlc Version 4.1.0 build 16076):

mxmlc -as3 -static-link-runtime-shared-libraries=true -debug -default-background-color=#ffffff -default-size 712 400 -output=bin/ProjectName.swf -source-path+=.preprocessed/src -source-path+=.preprocessed/assets .preprocessed/src/ProjectName.as

我已经尝试删除-debug编译器选项并添加-optimize选项,但没有运气。

其他任务正在通过GNU C预处理器运行,所以也许我会尝试删除预处理器的东西并对这些变量进行硬编码......我会尝试并明天发布结果。

任何见解都会非常感激。谢谢!

修改

这个项目将动态编译,不同的资产嵌入到相同的代码库中,因此切换到Flash Builder进行编译实际上不是一个选项......它必须通过命令行mxmlc来完成。 / p>

更新:

原来,损坏的数据信息是由于使用Photoshop的“保存为网络”功能创建的图像。如果我将它们完全保存为PNG图像,我就不会收到消息。然而,正确编辑电影的间歇性似乎仍然是一个问题。现在,有时当项目编译时,它不会抛出任何编译器错误,但我得到一个空白的Flash播放器窗口。在Flash播放器中右键单击会显示一个上下文菜单,其中显示“未加载电影...”的消息。这似乎与首先通过CPP运行的内容有任何关系。

[Screenshot]

2 个答案:

答案 0 :(得分:1)

这显然是Mac OS X下的mxmlc中的一个错误。在发布之后,我发现了一些其他非常奇怪的行为,所以我将整个代码库切换到Windows 7.一切都按预期工作(仍然使用Project Sprouts作为构建工具)。

答案 1 :(得分:0)

Flash构建器很好用。

您是否可以仅针对视频或音乐分离您的问题,或者两种情况都存在问题?