You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Flash停用后,如何修改现有SWF文件为local-with-filesystem权限以加载本地XML实现本地播放?

解决SWF本地加载XML的Error #2148问题

我之前处理过不少Flash归档的需求,针对你遇到的Error #2148,这里有几个实用的解决方案:

方案一:修改SWF的本地安全权限标记

如果没有原始工程文件,你可以用Flash反编译工具修改SWF的安全沙箱设置,具体用FFdec(免费开源的Flash反编译器)操作:

  • 下载并打开FFdec,导入你的SWF文件
  • 点击顶部菜单栏的「编辑」→「SWF属性」
  • 在弹出的窗口里,找到「本地播放安全性」选项,选择「只访问本地文件系统」
  • 保存修改后的SWF文件,再用本地Flash播放器打开,应该就能正常加载同目录的XML了

注意:如果你的SWF是加密过的,可能需要先解密才能修改,不过大部分普通SWF都能直接操作。记得备份原文件,避免修改出错。

方案二:用本地临时服务器运行

Flash的网络沙箱允许加载同域名的资源,你可以把SWF和XML放到本地服务器环境中运行:

  • 打开命令行,进入SWF和XML所在的文件夹
  • 运行简易服务器命令:
    • Python 3:python -m http.server 8000
    • Python 2:python -m SimpleHTTPServer 8000
  • 用支持Flash的独立播放器(比如旧版的Adobe Flash Player Projector)访问http://localhost:8000/your_swf_file.swf,这样SWF就能正常加载同目录的XML了

方案三:使用Ruffle开源模拟器

这是现在最推荐的Flash归档方案,Ruffle是专门的开源Flash模拟器,不需要依赖官方Flash Player,还能自动处理本地资源加载:

  • 下载Ruffle的桌面版(支持Windows、Mac、Linux)
  • 直接将你的SWF文件拖入Ruffle窗口,它会自动加载同目录下的XML配置文件,不需要修改任何设置
  • Ruffle还支持将SWF转成HTML5格式,方便长期归档保存

内容的提问来源于stack exchange,提问作者Jill Nesbit

火山引擎 最新活动