嵌入Flash影片时,您可以指定一个参数,指示影片播放的“质量”。这通常会影响Flash运行时是否会消除您的形状和视频内容。更多信息here。
有谁知道这个参数的默认值? Adobe忽略了记录默认值。根据经验,它在Mac和Windows上都是“高”或“autohigh”(独立于浏览器),但我无法辨别哪一个。
答案 0 :(得分:2)
总结:根据经验,质量参数的默认值是“高”,而不是“autohigh”。
Andi Li提供的代码是一个良好的开端,但它实际上并没有告诉你设置是“高”还是“autohigh”。当帧速率发生变化时,Autohigh将实时修改电影的质量。如果帧速率低于某个阈值,则Flash运行时将质量更改为“低”。
我使用了以下代码片段,它使用启发式方法通过大量绘制并等待阶段报告的质量从“高”转换为“低”来检测设置是“高”还是“自动高”。如果它没有转变,那意味着质量很高,而不是自动化。
在没有指定质量参数的嵌入中运行此代码(因此它将使用默认值)在以下平台上测得的质量值为高(非自动高):
操作系统:Win XP,Win 7,OSX以下是实验:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="onCreationComplete();">
<mx:Script>
<![CDATA[
import mx.containers.Box;
import mx.controls.Alert;
private var boxes:Array = [];
public function onCreationComplete():void {
this.qualityValue.text = this.systemManager.stage.quality;
for (var i:int = 0; i < 2500; i++) {
var box:Box = new Box();
box.width = 300;
box.height = 300;
box.x = 200 + i;
box.y = i;
this.addChild(box);
boxes.push(box);
}
}
private function onEnterFrame(event:Event):void {
for each (var box:Box in boxes)
box.setStyle("backgroundColor", Math.random() * 100000);
this.qualityValue.text = this.systemManager.stage.quality;
}
private function beginSlowdown():void {
this.systemManager.stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
]]>
</mx:Script>
<mx:VBox>
<mx:Label text="Quality:"></mx:Label>
<mx:Label id="qualityValue"></mx:Label>
<mx:Button click="beginSlowdown()" label="Begin slowdown"></mx:Button>
<mx:Label id="output"></mx:Label>
</mx:VBox>
</mx:Application>
答案 1 :(得分:0)
根据SWFObject,默认值很高(对于他们):http://blog.deconcept.com/swfobject/
此页面未指定:http://kb2.adobe.com/cps/127/tn_12701.html。
您有什么理由不能指定您想要的值并删除所有疑问?如果它在浏览器和播放器版本之间有所不同(6-10),我不会感到惊讶。但是,如果它一致且无证,我也不会感到惊讶。 :)
答案 2 :(得分:0)
在Flex Builder中新建Flex项目时,生成的html模板(index.template.html)显示质量很高(使用Flex SDK 3.3)。
在Flash CS4中,“发布”设置(html)中的默认值也很高。
正如吉姆所说,你可以在运行时显示质量值。正常AS3项目您可以使用stage.quality
。对于Flex,以下是示例:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init();">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
public function init():void {
Alert.show(this.systemManager.stage.quality);
}
]]>
</mx:Script>
</mx:Application>