我正在尝试使用两个 SWF 文件来渲染、动画和控制在 Open Broadcaster 中生成的视频流的叠加层。控制面板 SWF 位于应用程序外部的独立投影仪中,渲染.swf通过将其添加为使用 CEF3 创建浏览器窗口的插件的源媒体文件,将其放置在流中。
当这两个文件在独立的媒体播放器中时,它们通信正常,但是上述设置阻止此功能正常工作。我知道两个.swf文件都允许所有域和不安全域,CEF 插件使用的是 NPAPI Flash 12.0.0 播放器而不是 PPAPI"胡椒"播放器(它有额外的安全限制直接阻止 LocalConnection),我什至能够与渲染.swf套接字并通过怪物调试器接收数据。但是,我不知道如何逐步解决阻止LocalConnection进行通信的原因。
我找到的关于这个问题的所有关于Chromium的指南和信息都是专门关于绕过PPAPI限制的,并指出NPAPI应该可以正常工作。但是,我担心两层托管(CEF 浏览器窗口和开放广播应用程序本身)不是可以使用这种方法的情况。
我找到了解决方案:将包含.swf文件的文件夹添加到Flash全局设置中的"受信任来源"列表中。没有记录与影响 LocalConnection 的安全设置相关的任何地方,因此这不是一个明显的修复。一旦我这样做了,文件就可以很好地沟通。
后续问题是,为什么当一个人在 CEF/OBS 中时需要这样做,而不是当它们都在独立播放器中时,但我会接受它现在有效的事实。 :)