【问题标题】:Customize Flash Player controller using Javascript使用 Javascript 自定义 Flash Player 控制器
【发布时间】:2012-09-22 23:59:52
【问题描述】:

我想知道它是否可以在 Flash 播放器控制器的某些部分上删除或自定义。 我有一个嵌入标签,可以从 Ustream 生成视频。情况是有一个分享按钮,我不希望它在那里。目前流媒体提供商不允许用户禁用它。

我也试过在 jwplayer 上播放视频,但他们不支持,这是因为一些跨域限制。所以我在想Javascript是否有能力为我删除按钮。如果没有,谁能给我一些替代方案?

这是我生成的嵌入标签

<object width="320" height="260">
<param name="flashvars" value="autoplay=false&amp;vid=1234" />
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="src" value="http://www.ustream.tv/flash/viewer.swf" />
<embed 
    flashvars="autoplay=false&amp;vid=1234" 
    width="320" 
    height="260" 
    allowfullscreen="true" 
    allowscriptaccess="always" 
    src="http://www.ustream.tv/flash/viewer.swf" 
    type="application/x-shockwave-flash" />
</object>

【问题讨论】:

  • @JcFx 关于这一点,这是因为当我发布问题时,答案已经晚了。而且我无法回溯并检查这些答案,因为我已经有一段时间没有回到这里了。不过谢谢提醒,我现在正在检查。
  • 一切都好。有人指出我应该改进我的,他们是对的,所以我只是在传递智慧......

标签: javascript embed flash


【解决方案1】:

除非播放器有某种ExternalInterface API 供您使用(不太可能),否则您无法通过JavaScript 隐藏按钮。您可以将他们的整个播放器加载到您自己的另一个 swf 中,例如使用 Loader 组件 (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html):

var url:String = "http://www.ustream.tv/flash/viewer.swf?autoplay=false&vid=1234";
var urlReq:URLRequest = new URLRequest(url);
ldr.load(urlReq);
addChild(ldr);

播放器加载后,您将可以通过加载器的content 属性访问它。多少访问可能取决于 swf 的版本和安全设置,您可能需要在加载 url 请求之前设置LoaderContext 的安全和应用域。

假设您可以访问加载的 swf,那么您需要沿着 DisplayObjects 树向下走,直到找到要隐藏的按钮。这可能是一个反复试验的案例。搞定了就设置visible=false;

或者,您可以使用 CSS 在按钮顶部放置一些彩色 DIV。不过,这看起来不太可能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    • 2016-06-07
    • 1970-01-01
    相关资源
    最近更新 更多