Flashで動画を再生しよう!第 5 回 動画を公開!
集中連載「Flashで動画を再生しよう!」の最終回です。
今回は SWFObject1.5 を使ったコンテンツの埋め込み方法を紹介したいと思います。
SWFObject とは JavaScript を用いて swf ファイルを埋め込むライブラリです。
現在 SWFObject を使って swf ファイル埋め込むのが主流になってきています。
SWFObject を使う利点は以下があげられます。
- InternetExplorer の Active Content Update 問題に対応
- Flash プラグインのバージョン検出ができる
- Flash でパブリッシュ生成したタグよりシンプル
但し SWFObject を使う注意として、JavaScript をオフにしてるユーザーは見れないという点があります。
この場合は、代替表示で対応するようにします。
STEP1
SWFObject をサイトからダウンロードしてきます。
STEP2
実際に HTML にコード埋め込んでみましょう。
<head>~</head>内に以下を書き込む
<script type="text/javascript" src="swfobject.js"></script>
任意の場所に下記コードを書き込む
<div id="★">
<p>実際に swf が表示される場所、代替の表示も可能です</p>
</div><script type="text/javascript">
var so = new SWFObject("swfファイルのパス", "swf名", "幅", "高さ", "Flashplayerのバージョン", "背景色"); //swfのソース情報
so.addParam("パラメータ", "値"); <!-- swf に設定可能なパラメータ -->
so.addVariable("変数名", "値"); <!-- 変数などを渡す場合 -->
so.write("div id名(★)");
</script>
STEP3
swf には以下のパラメータの設定ができます。
quality | Flash コンテンツを再生するときの画質の設定です。何も指定しない場合のデフォルトは high です。 | |
---|---|---|
low | 低画質、グラフィックスのアンチエイリアス処理、ビットマップのスムージング処理共に行われません。 | |
medium | 中画質、グラフィックスは2×2ピクセルグリッドを使ってアンチエイリアス処理されます。ビットマップはスムージングされません。 | |
high | 高画質、グラフィックスは4×4ピクセルグリッドを使ってアンチエイリアス処理されます。ビットマップはムービークリップが静的であればスムージングされます。 | |
best | 最高画質、グラフィックスは4×4ピクセルグリッドを使ってアンチエイリアス処理されます。ビットマップは常にスムージングされます。 | |
scale | swf のサイズの設定 | |
default | 指定した範囲内に swf ファイルが全体表示されます。 サイズ比率は維持されるため伸縮による歪みは生じません。 | |
noorder | 指定した範囲全体を埋めるように swf ファイルが伸縮されます。 サイズ比率は維持されるため伸縮による歪みは生じませんが、swf ファイルの一部が隠れることがあります。 | |
exactfit | 指定した範囲内に swf ファイルがぴったり収まった状態で表示されます。サイズ比率を考えて指定しないと歪みが生じます。 | |
wmode | swf ファイルの背景を透明化するかしないか設定できます。指定してある背景色は無視されます。※ | |
opaque | 背景を不透明化する | |
transparent | 背景を透明化する | |
align | デフォルトは、ブラウザウィンドウの映画を中心表示になります。 | |
L | ブラウザの左端に表示します。表示中のブラウザより swf ファイルが大きい場合、上下と右側で隠れる部分が出ます。 | |
R | ブラウザの右端に表示します。表示中のブラウザより swf ファイルが大きい場合、上下と左側で隠れる部分が出ます。 | |
T | ブラウザの上端に表示します。表示中のブラウザより swf ファイルが大きい場合、左右と下側で隠れる部分が出ます。 | |
B | ブラウザの下端に表示します。表示中のブラウザより swf ファイルが大きい場合、左右と上側で隠れる部分が出ます。 | |
salign | 基本的には「align」とほぼ同じですが、より詳しく設定できます。 | |
L | 左に揃えた状態で表示します。表示中のブラウザより swf ファイルが大きい場合、上下と右側で隠れる部分が出ます。 | |
R | 右に揃えた状態で表示します。表示中のブラウザより swf ファイルが大きい場合、上下と左側で隠れる部分が出ます。 | |
T | 上に揃えた状態で表示します。表示中のブラウザより swf ファイルが大きい場合、左右と下側で隠れる部分が出ます。 | |
B | 下に揃えた状態で表示します。表示中のブラウザより swf ファイルが大きい場合、左右と上側で隠れる部分が出ます。 | |
TL | 左上に揃えた状態で表示します。表示中のブラウザより swf ファイルが大きい場合、右側と下側で隠れる部分が出ます。 | |
TR | 右上に揃えた状態で表示します。表示中のブラウザより swf ファイルが大きい場合、左側と下側で隠れる部分が出ます。 | |
BL | 左下に揃えた状態で表示します。表示中のブラウザより swf ファイルが大きい場合、右側と上側で隠れる部分が出ます。 | |
BR | 右下に揃えた状態で表示します。表示中のブラウザより swf ファイルが大きい場合、左側と上側で隠れる部分が出ます。 | |
flashvars | Object または Embed タグ内に記述することで、変数を swf ファイルに渡すことが可能になります。 | |
menu | 右クリックしたときにポップアップされるメニューをの属性です。通常のメニューには、ブラウザ内での表示方法や再生、拡大などを制御できるオプションがありますが、表示させたくないときは、この MENU 属性を使って、メニュー項目を制限できます。 | |
play | ブラウザで読み込んだときにプレーし始めるかどうか指定します。デフォルト値は true です。 | |
loop | 繰り返しの設定します。デフォルト値は true です。 | |
allowscriptaccess | JavaScript の実行を常に許可、または常に禁止します。 | |
always | allowScriptAccess パラメータが含まれる swf ファイルに対して JavaScript の実行を常に許可します。 | |
samedomain | swf ファイルが HTML ファイルと同一のドメイン上に存在する場合にのみ JavaScript の実行を許可します。 | |
never | allowScriptAccess パラメータが含まれる swf ファイルに対して JavaScript の実行を常に禁止します。 |
※WMODE の特性について
- wmode を設定しない場合は FPS が若干遅くなる。
- wmode を設定すると日本語入力がスムーズに行かなくなる。
- wmode を設定するとホイールが効かなくなる。
集中連載企画 「Flashで動画を再生しよう!」も今回で最終回です。
ご愛顧を誠にありがとうございました。
今後とも現場で役に立つ情報をお送り差し上げていきますので、どうぞよろしくご期待ください!