在AIR 2 HTML应用程序中嵌入SWF视频

时间:2010-09-09 10:46:29

标签: flash air embed

我已经通过论坛一段时间了,我可以验证我的问题与透明度或镀铬无关。我有一个位于应用程序沙箱中的IFRAME ,可以访问 app-storage 中的文件。动态图像加载正常,但我放置在DOM中的动态生成的<OBJECT>代码未加载SWF视频。我可以看到对象占位符,但没有视频。

是否有嵌入SWF文件的要求,可能是尺寸要求(需要高度和宽度)?鉴于我的内容是动态的,而且我不知道SWF文件的尺寸,我目前有两种嵌入选项:

  1. 计算高度和宽度 父元素,并分配它们 OBJECT参数的值。
  2. 在OBJECT上使用100%宽度和高度
  3. 这可能会导致SWF文件的比例出现问题,我希望可以通过比例PARAMhttp://kb2.adobe.com/cps/127/tn_12701.html)来修复。

    请帮助,我还没有找到任何有用的指南。我已经按照从这里嵌入的文档无效:

    http://help.adobe.com/en_US/AIR/1.5/devappshtml/WS4B441C24-BAE3-4110-91FD-A4E5EEFB2467.html

1 个答案:

答案 0 :(得分:-1)

对于它的地狱,这里是一个广泛的SWFObject我生成的工作(虽然矫枉过正):

var SWFObject = document.createElement("object");
SWFObject.setAttribute("type", "application/x-shockwave-flash");
SWFObject.setAttribute("classid", "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000");
SWFObject.setAttribute("width", "100%");
SWFObject.setAttribute("height", "100%");
SWFObject.setAttribute("id", "movie");

var param1 = document.createElement("param");
param1.setAttribute("name", "movie");
param1.setAttribute("value", 'app-storage:' + filename);

var param2 = document.createElement("param");
param2.setAttribute("wmode", "opaque");

var param3 = document.createElement("param");
param3.setAttribute("bgcolor", "#FFFFFF");

var param4 = document.createElement("param");
param4.setAttribute("allowscriptaccess", "always");

var param5 = document.createElement("param");
param5.setAttribute("quality", "high");

var param6 = document.createElement("param");
param6.setAttribute("flashvars", "wmode=opaque");

var param7 = document.createElement("param");
param7.setAttribute("scale", "ShowAll");

var param8 = document.createElement("param");
param8.setAttribute("classid", "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000");

SWFObject.appendChild(param1);
SWFObject.appendChild(param2);
SWFObject.appendChild(param3);
SWFObject.appendChild(param4);
SWFObject.appendChild(param5);
SWFObject.appendChild(param6);
SWFObject.appendChild(param7);
SWFObject.appendChild(param8);