Flash “的默认值是多少?”;“品质”;闪存嵌入中的参数?

Flash “的默认值是多少?”;“品质”;闪存嵌入中的参数?,flash,flashvars,Flash,Flashvars,嵌入flash影片时,可以指定一个参数,指示影片播放的“质量”。这通常会影响Flash运行时是否会对形状和视频内容进行反锯齿。更多信息 有人知道这个参数的默认值吗?Adobe忽略了记录默认值。根据经验,Mac和Windows上的默认值都是“高”或“自动高”(与浏览器无关),但我无法辨别是哪一个。根据SWFObject,默认值是高(对于它们): 此页未指定: 有什么原因不能只指定所需的值并消除所有疑问?如果浏览器和播放器版本(6-10)之间确实存在差异,我也不会感到惊讶。但是,如果它是一致的,并且

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


有人知道这个参数的默认值吗?Adobe忽略了记录默认值。根据经验,Mac和Windows上的默认值都是“高”或“自动高”(与浏览器无关),但我无法辨别是哪一个。

根据SWFObject,默认值是高(对于它们):

此页未指定:


有什么原因不能只指定所需的值并消除所有疑问?如果浏览器和播放器版本(6-10)之间确实存在差异,我也不会感到惊讶。但是,如果它是一致的,并且没有文档记录,我也不会感到惊讶

在Flex Builder中新建Flex项目时,生成的html模板(index.template.html)显示质量很高(使用Flex SDK 3.3)

在FlashCS4中,发布设置(html)中的默认值也很高

正如Jim所说,您可以在运行时显示质量值。正常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>

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

Andi Li提供的代码是一个很好的开始,但它实际上并没有告诉您设置是“高”还是“自动高”。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>


你能制作一个flash小程序,在舞台上打印该参数的值吗?Glenn,我希望避免将其显式化,原因有两个:1)来自外部的奇怪设计约束,2)保持嵌入片段的精简。谢谢Andy。我将把这个片段放在多个平台和flash组合上运行,以确定Adobe是否在历史上保持一致。记住告诉我们结果:)