Flash ムービーを埋め込む場合、ムービーの再生の「品質」を示すパラメータを指定できます。これは通常、Flash ランタイムがシェイプとビデオ コンテンツにアンチエイリアスを適用するかどうかに影響します。詳細はこちら。
このパラメータのデフォルト値を知っている人はいますか? アドビは、デフォルト値を文書化することを怠りました。経験的に、Mac と Windows の両方で (ブラウザーに関係なく) 「高」または「自動高」のように見えますが、どちらかを識別することはできません。
要約すると、経験的に、品質パラメータのデフォルト値は「autohigh」ではなく「high」です。
Andi Li によって提供されたコードは良いスタートでしたが、実際には設定が「高」なのか「自動高」なのかわかりません。Autohigh は、フレームレートの変化に合わせてリアルタイムでムービーの品質を変更します。フレームレートが特定のしきい値を下回ると、Flash ランタイムは品質を「低」に変更します。
私は次のコード スニペットを使用しました。ヒューリスティックを使用して設定が「高」か「自動高」かを検出します。これは、大量に描画し、ステージによって報告された品質が「高」から「低」に移行するのを待つことによって行われます。遷移しない場合は、オートハイではなく、品質が高いことを意味します。
品質パラメーターを指定せずに埋め込みでこのコードを実行すると (デフォルト値が使用されます)、次のプラットフォームで測定された品質値が高くなりました (autohigh ではありません)。
OS: Win XP、Win 7、OSX
ブラウザ: Windows XP 上の IE6、IE7、IE8、FF3、FF3.5、Safari 3、Safari 4、Safari 4
フラッシュ バージョン: 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>
SWFObjectによると、デフォルトは高いです(彼らにとって): http: //blog.deconcept.com/swfobject/
このページでは指定していません:http://kb2.adobe.com/cps/127/tn_12701.html。
必要な値を指定してすべての疑問を取り除くことができない理由は何ですか?ブラウザやプレーヤーのバージョン(6〜10)によって異なる場合でも、驚かないでしょう。しかし、それが一貫していて文書化されていなくても、私は驚かないでしょう。:)
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>