我有一个加载外部 SWF 文件并通过SWFLoader Flex 组件在 Adobe Flex/Air 应用程序中播放它们的应用程序。我一直在尝试找到一种从按钮单击事件中卸载它们的方法。我在 Google 上搜索的范围很广,似乎没有人能够在没有 hack 的情况下做到这一点。我看到人们使用的代码组合是:
swfLoader.source = ""; // Removes the external link to the SWF.
swfLoader.load(null); // Forces the loader to try to load nothing.
// Note: At this point sound from the SWF is still playing, and
// seems to still be playing in memory.
flash.media.SoundMixer.stopAll();
// Stops the sound. This works on my development machine, but not
// on the client's.
如果 SWF 以这种方式关闭(隐藏),最终程序会崩溃。
有任何想法吗?我在各种论坛上发现了大量的帖子,人们有同样的问题。我想我会在这里得到一个错误/不完整的答案,而且我的帖子会像往常一样陷入虚无,但无论哪种方式,提前致谢!
编辑 1:我无法编辑实际的 SWF 电影,它们是由客户端创建的。如果我无法关闭通过 Flex 打开的任何 SWF,这不是 Flex 架构的问题吗?我唯一的选择是将 SWF 发送到 Web 浏览器吗?