我正在尝试将此视频缩放到640x360。当我改变宽度和高度时,视频不会变大。我尝试添加参数scale =“aspect”,scale =“exactfit”,scale =“default”。他们都没有工作。
有没有办法将其缩放到640x360?
嵌入代码:
<object width="416" height="374" classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000">
<param name="allowscriptaccess" value="always" />
<param name="movie" value="http://i.cdn.turner.com/cnn/.element/apps/cvp/3.0/swf/cnn_416x234_embed.swf?context=embed&videoId=us/2011/10/28/dnt-mom-learns-death-thru-facebook.wsyr" />
<embed src="http://i.cdn.turner.com/cnn/.element/apps/cvp/3.0/swf/cnn_416x234_embed.swf?context=embed&videoId=us/2011/10/28/dnt-mom-learns-death-thru-facebook.wsyr" type="application/x-shockwave-flash" allowscriptaccess="always" width="416" height="374">
</embed>
</object>
这也不起作用:
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<object width="416" height="374" classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000">
<param name="allowscriptaccess" value="always" />
<param name="movie" value="http://i.cdn.turner.com/cnn/.element/apps/cvp/3.0/swf/cnn_416x234_embed.swf?context=embed&videoId=us/2011/10/28/dnt-mom-learns-death-thru-facebook.wsyr" />
<embed src="http://i.cdn.turner.com/cnn/.element/apps/cvp/3.0/swf/cnn_416x234_embed.swf?context=embed&videoId=us/2011/10/28/dnt-mom-learns-death-thru-facebook.wsyr" type="application/x-shockwave-flash" allowscriptaccess="always" width="416" height="374">
</embed>
</object>
<script>
function testcode () {
$('object').attr('width','640');
$('object').attr('height','500');
$('object embed').attr('width','640');
$('object embed').attr('height','500');
}
</script>
<br>
<a href="#" onclick="testcode()">click to test</a>
显示为:
答案 0 :(得分:2)
您可以使用以下jQuery脚本:
$(window).resize(function(){
$('object').attr('width','640');
$('object').attr('height','360');
$('object embed').attr('width','640');
$('object embed').attr('height','360');
});
查看JSFiddle
上的结果OR
您可以使用SWF Object。它是一种易于使用且标准友好的嵌入Flash内容的方法,它使用一个小的JavaScript文件。
<强>编辑:强>
<html>
<head><title>SWF example by jQuery</title></head>
<body>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<object width="416" height="374" classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000">
<param name="allowscriptaccess" value="always" />
<param name="movie" value="http://i.cdn.turner.com/cnn/.element/apps/cvp/3.0/swf/cnn_416x234_embed.swf?context=embed&videoId=us/2011/10/28/dnt-mom-learns-death-thru-facebook.wsyr" />
<embed src="http://i.cdn.turner.com/cnn/.element/apps/cvp/3.0/swf/cnn_416x234_embed.swf?context=embed&videoId=us/2011/10/28/dnt-mom-learns-death-thru-facebook.wsyr" type="application/x-shockwave-flash" allowscriptaccess="always" width="416" height="374">
</embed>
</object>
<script>
function testcode () {
$('object').attr('width','640');
$('object').attr('height','500');
$('object embed').attr('width','640');
$('object embed').attr('height','500');
}
</script>
<br>
<a href="#" onclick="testcode()">click to test</a>
</body>
</html>
答案 1 :(得分:2)
问题在于您正在调整浏览器/ DOM的嵌入元素的大小,但实际上并未缩放嵌入的内容(Flash动画)。
查看您引用的SWF网址:cnn_416x234_embed.swf
。动画被硬编码为416x234,无论你对它周围的HTML做什么,它都会以这个大小播放。
有几种方法可以做你想做的事:
a)查找编译为所需大小的CNN嵌入URL,640x360。然后,只需将HTML嵌入元素硬编码为该大小(除非您有其他原因要使用Javascript)。
b)打开Flash,创建一个“动画”,只需将CNN SWF加载到一个帧中,然后将其缩放到您想要的大小。保存并导出到SWF,并将此动画嵌入到您的页面中。
c)Flash可通过ActionScript完全编写脚本(Javascript和ActionScript都只是ECMAscript),并且由于您已设置allowscriptaccess="always"
,因此您应该能够使用Javascript操作动画。在调试器中运行CNN SWF,找出需要调整大小的元素,然后缩放它们。
解决方案(a)显然是最简单和最好的,假设它存在,因为您想要使用实际以您想要的大小编码的视频,而不是以416px宽度编码然后缩放。就个人而言,如果这不起作用,我真的不同意将视频缩放1.5倍,它看起来不会很好。
编辑/添加:请参阅下面的评论。由于跨域问题,遗憾的是答案是不可能操纵第三方SWF(CNN,在这种情况下)内的对象大小。如果这是您的SWF,或者在system.Security中启用了跨域访问,则建议的解决方案将起作用。但在这种情况下,CNN的SWF被锁定,以便不允许跨域访问。
所以,不幸的是,答案是,如果CNN没有发布你想要的大小的视频小部件(我的(a)解决方案),那你就不走运了,抱歉。做你想做的事是不可能的。我将在这里留下完整的答案,以防它帮助其他人。
答案 2 :(得分:1)
查看您要嵌入的.swf文件的网址。该大小在所有.swf文件中都是硬编码的。 http://i.cdn.turner.com/cnn/.element/apps/cvp/3.0/swf/cnn_416x234_embed.swf?context=embed&videoId=us/2011/10/28/dnt-mom-learns-death-thru-facebook.wsyr
这只是其中之一,但那个大小是硬编码的老兄。我想如果你知道动作脚本,你可以起床,但我不知道。也许你可以做到,实际上你可以我不知道怎么用javascript。