- May 15, 2004 2:41 PM
- Flash
FLASHを作る際、1秒間に再生するフレームの数を指定できるのですが、IE6を通して貼り付けられたFLASHを再生すると、指定したフレームレートより遅く再生されます。最初は自分のPCの処理速度が関係しているのかと思いましたが、他のブラウザーで同じFLASHを見ると正常なフレームレートで再生されていたので、どうやらIE6だけがこの現象になるようです。
どんなに処理の軽いFLASHを作ったとしても、IE6では指定したフレームレートより遅く再生されてしまうので、スピード感を強調させたいFLASHムービーやゲーム系FLASHなどでは問題ですね。
解決策
<param name="wmode" value="opaque" / >の1行を加えるだけで、この問題は解決されます。
swfを貼り付けるソースコード
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="100" height="100">
<param name="movie" value="hogehoge.swf" />
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<embed src="hogehoge.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100" height="100"></embed>
</object>
param name="wmode"は、FLASHの背景を透明化(又は不透明化)するためのパラメーターですが、透明化(値:transparent)がIEにしか有効でないためあまり使用されません。valueは透明化するtransparentでも不透明化するopaqueでもどちらでもいいようです。何故これで解決するのかは良くわかりません・・。
再生速度の違いを確認してみる
IE6での問題なので、IE6で確認してください。
普通に貼り付けたSWF
例のパラメータを付け加えたSWF
FPS数値は1秒間に再生されたフレームの数を表しています。
追記:param name="wmode を使用した時に発生する不具合 (2006年4月18日)
でwmode使用時の不具合などが纏められています。
結局,
- wmode指定なし
- 再生速度がやや遅くなるが,ホイール操作,キー入力,日本語入力等スムーズに行える.
- wmode指定あり
- ホイール操作,キー入力,日本語入力が使えないが再生速度が通常になる.
こんな感じですかね...
- Newer: Moho
- Older: MT:見出し問題解決。

