Flash嵌入中“质量”参数的默认值是多少?

时间:2009-09-19 22:34:36

标签: flash flashvars

嵌入Flash影片时,您可以指定一个参数,指示影片播放的“质量”。这通常会影响Flash运行时是否会消除您的形状和视频内容。更多信息here

有谁知道这个参数的默认值? Adobe忽略了记录默认值。根据经验,它在Mac和Windows上都是“高”或“autohigh”(独立于浏览器),但我无法辨别哪一个。

3 个答案:

答案 0 :(得分:2)

总结:根据经验,质量参数的默认值是“高”,而不是“autohigh”。

Andi Li提供的代码是一个良好的开端,但它实际上并没有告诉你设置是“高”还是“autohigh”。当帧速率发生变化时,Autohigh将实时修改电影的质量。如果帧速率低于某个阈值,则Flash运行时将质量更改为“低”。

我使用了以下代码片段,它使用启发式方法通过大量绘制并等待阶段报告的质量从“高”转换为“低”来检测设置是“高”还是“自动高”。如果它没有转变,那意味着质量很高,而不是自动化。

在没有指定质量参数的嵌入中运行此代码(因此它将使用默认值)在以下平台上测得的质量值为高(非自动高):

操作系统:Win XP,Win 7,OSX
浏览器:Windows XP上的IE6,IE7,IE8,FF3,FF3.5,Safari 3,Safari 4,Safari 4 Flash版本:9.0.28,9.0.124和Flash 10(发行版,而不是调试版)

以下是实验:

<?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>