【问题标题】:How to pause flash application in browser?如何在浏览器中暂停 Flash 应用程序?
【发布时间】:2012-03-08 14:34:18
【问题描述】:

如果浏览器中没有任何允许的按钮,如何暂停 Flash 应用程序?

【问题讨论】:

    标签: flash browser


    【解决方案1】:

    嗯,有一个网站,有一个swf文件,我想暂停一下。

    您是否有权访问这些文件及其来源?是否在同一个域中?

    无论如何,前两个答案建议用另一个 Flash 应用程序包装 swf,然后将帧率设置为 0。这不准确,因为您可以设置的最小帧率是 0.01。 Flash 代码是围绕帧率构建的,这是有道理的。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Stage.html#frameRate

    如果您有权访问要暂停的原始文件,则完成此操作的正确方法是通过 ExternalInterface

    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html

    http://www.viget.com/inspire/bi-directional-actionscript-javascript-communication/

    【讨论】:

    • 我没有完全访问权限。我可以下载 swf 文件,但它可以在线获取信息。所以如果我没有原始 .fla 文件,唯一的方法是暂停它是将其包装在另一个闪存文件中吗?或者是否可以通过一些浏览器技巧?如果浏览器中的所有内容都暂停了,也可以选择暂停浏览器
    • 根据我的经验,您要完成的工作只有在您知道被包装的 swf 内部发生了什么的情况下才能完成(例如,如果您知道有一个负责暂停的全局函数)。可以在此处找到有关加载外部 SWF 文件的大量信息:kb2.adobe.com/cps/141/tn_14190.html 如果应用程序不支持,您不能完全自行暂停所有内容。即使在外部可以将帧速率设置为 0,声音仍会播放,事件仍会分派。原始 Flash 文件的作者必须有一个负责暂停的方法。
    • 也许阅读这篇文章也有助于理解主题的复杂性help.adobe.com/en_US/as3/mobile/… 标记的页面解释了 unloadAndStop 函数,它与你想要的事情类似,但当然,SWF 是卸载的因此无法恢复到相同的状态(只能再次从头开始加载)。
    【解决方案2】:

    【讨论】:

    • 添加到哪里?我无法修改 swf 文件
    【解决方案3】:

    您的问题有点含糊,我对您到底想要什么感到有些困惑。我确实在this question 中找到了可能有帮助的东西。但以下是我看到的可能对您有所帮助的内容:

    嵌入一个 swf,它会加载游戏。然后您将能够进行一些控制,因为加载的 SWF 与加载的 SWF 在同一个实例中运行。对于大多数游戏,将帧速率设置为 0 就足够了。

    因此,将帧速率设置为 0 本质上是暂停它...但如果您进一步澄清您的问题,我将能够提供更详细的答案。

    【讨论】:

    • 嗯,有一个网站,有一个swf文件,我想暂停一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    相关资源
    最近更新 更多