我想知道是否有可能删除或自定义Flash播放器控制器的某些部分。 我有一个嵌入式标签,可以从Ustream生成视频。案例是有一个共享按钮,我不希望它在那里。目前,流媒体提供商不允许用户禁用它。
我也试过在jwplayer上播放视频,但他们不支持它,这是因为一些跨域限制。所以我在想Javascript是否有能力为我删除按钮。如果没有,有人可以给我一些替代品吗?
这是我生成的嵌入标记
<object width="320" height="260">
<param name="flashvars" value="autoplay=false&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&vid=1234"
width="320"
height="260"
allowfullscreen="true"
allowscriptaccess="always"
src="http://www.ustream.tv/flash/viewer.swf"
type="application/x-shockwave-flash" />
</object>
答案 0 :(得分: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的版本和安全设置,您可能需要在加载网址请求之前设置LoaderContext的安全域和应用域。
假设您可以访问加载的swf,则需要沿着DisplayObjects树向下走,直到找到要隐藏的按钮。这可能是一个反复试验的案例。一旦你完成它,只需设置visible=false;
或者,您可以使用CSS在按钮顶部放置一些彩色DIV。但是,这看起来不太可能。