Jing + swfobject 2.2 =小div中的大视频

时间:2010-02-15 01:27:22

标签: flash swfobject jing

我正在尝试使用swfobject 2.2来显示swf,但swf不会缩放以适应我所放入的div。你可以看到我得到了什么here

首次加载时,尺寸合适,然后由于某种原因扩大。 如果我右键点击影片并选择“全部显示”,那么它就非常适合。

以下是生成sfobject的代码:

var flashvars = {};
var params = {}
params.scale = "showAll";
params.allowscriptaccess = "always";
var attributes = {};                    
swfobject.embedSWF("/content/tour.swf", 
"flashContent", "900", "700", "9.0.0", "expressInstall.swf", 
                       flashvars, params, attributes);

非常感谢任何帮助/建议!

5 个答案:

答案 0 :(得分:0)

您需要添加一些额外的脚本,如下所示:

function resizeFlashDiv()
{
        var theDiv = document.getElementById("navContainer");

        var theHeight = Math.floor(theDiv.offsetWidth * .33625) + 50; // add
the variable portion plus the fixed portion of the Flash

        theDiv.style.height = theHeight + "px";

}

这将使您的SWF填充DIV。

答案 1 :(得分:0)

要使div的大小设置为swf(或更确切地说是Flash Player)的大小,可以在swfobject.embedSWF()调用中使用“100%”作为大小,而不是像素大小。

swfobject.embedSWF("/content/tour.swf", "flashContent", "100%", "100%", "9.0.0", "expressInstall.swf", flashvars, params, attributes);

要使用的其他参数是scale。替代方案是:

  • “showAll”:整个应用程序在指定区域中可见,没有失真,同时保持应用程序的原始高宽比。边框可以出现在应用程序的两侧。

  • “exactFit”:整个应用程序在指定区域中可见,而不尝试保留原始高宽比。可能会发生失真,应用程序可能会出现拉伸或压缩。

  • “noBorder”:整个应用程序填充指定区域,没有失真但可能有一些裁剪,同时保持应用程序的原始高宽比。

  • “noScale”:整个应用程序是固定的,因此即使播放器窗口的大小发生变化,它也会保持不变。如果播放器窗口小于内容,则可能会出现裁剪。

答案 2 :(得分:0)

我能想到的最快的事情就是将宽度设置为100%。我已经测试过,它似乎运行良好:

screenshot link full width

Lars已经公布了所有可用的替代方案。

HTH, 乔治

答案 3 :(得分:0)

由于TestPlanManagement.com正确回答,Jing视频无法缩放。但是可以改变SWF以允许这种情况。见Resizing embedded screencasts with TechSmith Jing。商业Action Script Viewer用于更改SWF中的常量。

答案 4 :(得分:-1)

如果要将stageScaleMode设置为noScale,请检查已加载的swf代码。这是我问题的根源。