【问题标题】:Adobe AIR read .sol file of Flash PlayerAdobe AIR 读取 Flash Player 的 .sol 文件
【发布时间】:2017-12-10 15:25:47
【问题描述】:

当我需要使用 Adob​​e AIR 应用程序读取 Flash Player 的 .sol 时,我遇到了共享对象文件的问题。

Flash Player 共享对象的路径是:

C:/Users/%username%/AppData/Roaming/Macromedia/Flash Player/#SharedObjects/%randomnumber%/localhost/

但是,Adobe AIR 共享对象的路径是:

C:/Users/%username%/AppData/Roaming/%applicationname%/Local Store/#SharedObjects/#localhost/

如何使用 Adob​​e AIR 应用程序读取 Flash Player 共享对象?

我试过了:

  • 使用FileStream类打开.sol文件,方法为readObject,但是不起作用。
  • .sol 文件复制到Adobe AIR 共享对象路径并使用SharedObject 读取,但出现Error #2134: Cannot create SharedObject

我能做些什么来解决这个问题?

【问题讨论】:

  • 你根本不应该这样阅读。 唯一使用共享对象的正确方法是使用记录在案的 var SO:SharedObject = SharedObject.getLocal("object id", "local path");

标签: actionscript-3 flash air shared-objects


【解决方案1】:

Flash Player/AIR 没有直接读取.sol 文件的内置方法。当然 SharedObject 类是您应该访问 SO 数据的方式,但它有一些限制,并且正如您注意到从特定已知路径读取的那样,它不能用于直接解析任何 .sol 文件。要读取.sol 文件,您需要使用FileStream,然后直接按照.sol 格式解析ByteArray...当然.sol 使用AMF 来存储数据,因此readObject 应该适用于部分,但文件格式(标题等)是它自己的格式,必须解析出来。不幸的是,很难找到有关该格式的良好文档。那里已经有很多 SO 读者,您也许可以使用其中一个作为参考:

【讨论】:

    猜你喜欢
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-26
    相关资源
    最近更新 更多