エヌ・ティ・ティ・ドコモが505シリーズからフラッシュに対応するようになって以来、多くの端末でフラッシュの再生が可能になりました。
但し、その際に幾つかの制限があります。
ここでは、その制限について解説します。
フラッシュはHTMLと違い、標準的なウェブ技術とは言えません。
従って、フラッシュを導入するのであれば、対応出来ない環境の事を常に配慮してコンテンツ作りを行って下さい。
例えば、PC向けのウェブコンテンツには良くこのようなものが見られますが、いずれも絶対にやってはいけない事と言えます。
フラッシュに対応していない環境では致命的です。
このようなコンテンツの場合、非対応環境への配慮のつもりか、アドビ社のサイトへリンクするアイコンを下の方に出している事が多いのですが、こんなのは非対応環境への配慮とは絶対に言えません。
特に携帯電話の場合、PCなど非携帯環境と違ってプラグインをダウンロードしろと言う訳にもいかず、このような方法では見るなと言われるのと同義です。
メニューをフラッシュで作る事の是非はともかく、フラッシュが使えない場合に何も出来ないのはやはり致命的です。
せめて代替となるテキストメニューを用意しておきましょう。
フラッシュが表示出来ない環境では情報が取得出来ません。
ウェブコンテンツの目的を考えるとこれもやはり致命的です。
重要な情報はテキストでの代替コンテンツでも見られるようにしましょう。
また、作品としてフラッシュを公開する場合、これもある意味重要な情報となるので、個人的にはせめてその中の数コマくらいを非対応環境で見られるようにしておくといいのではないかと思われます。
また、トップページを開くとフラッシュのデモが行われてそれからメニューが開かれると言うのもありますが、これも携帯端末には不適切です。
いずれにしても、フラッシュが表示出来ない環境に配慮する事は大鉄則と言えるでしょう。
埋め込めるフラッシュは携帯電話の制約を考慮した縮小された仕様フラッシュ・ライト(Flash Lite)に基づいたものとなります。
PC向けのフラッシュ作成ツールでも作成は可能ですが、以下の制約があります。
現在のフラッシュの仕様は既にヴァージョン 9にまで達しておりますが(平成18年12月15日現在)、携帯電話向けのフラッシュはヴァージョン 4レヴェルとなります。
例えばドコモの旧型機(505/506シリーズ)では20キロバイト以内となります。
現行機ではどの端末も100キロバイトは可能になります。
また、携帯電話ではどのキャリアも二種類の再生モードを持ちます。
実際にはソフトバンクにはもう一つの再生モードもありますが、これはダウンロードしたフラッシュを直接開くときのモードであり、ウェブでは使えません。
実際にフラッシュを埋め込むには、以下のようにします。
インライン再生モードでは、<object>要素で埋め込めます。
キャリアに依って属性が一部異なりますが、以下のように記述すれば問題は無いでしょう。
<object type="application/x-shockwave-flash" width="横幅" height="高さ" data="フラッシュへのURI">(パラメータを与える<param>要素) (フラッシュ非対応環境への代替コンテンツ)</object>
<param>要素でパラメータを与える事も可能ですが、キャリアに依ってサポートしているパラメータが異なるため、記述しても期待通りにならない場合もあります。
フラッシュをサポートしていない旧型端末では当然ながらフラッシュを再生する事は出来ません。
一応<object>要素内に代替コンテンツを記述する事は可能のようです。
ただ、フラッシュの仕様の関係で表示出来ないと言う場合には、代替コンテンツも表示されないという事態も予想出来ます。
PCとの互換性ですが、以下のようになります。
ウィンドウズ版インターネットエクスプローラとは互換性はありません。
ウィンドウズ版インターネットエクスプローラでは全く異なる方法でフラッシュプレーヤを起動するからです。
マッキントッシュ版では<embed>要素で無いと起動しないとの事で、やはり互換性は無いようです。
ネットスケープ 4.xではこの記述で埋め込みが可能ですが、3.x以前ではこの記述での埋め込みは出来ません。
従って、<object>要素の内容として書かれた代替コンテンツが扱われる事になるでしょう。
二つ以上入れられる端末もあるにはあるのですが、そのような端末は少ないようです。
インタラクティヴ再生モードの場合、幾つかの方法がありますが、各キャリアで共通に使える方法は唯一つ、直接当該フラッシュにリンクする事です。
エヌ・ティ・ティ・ドコモでは、非対応環境へも配慮した記述法を用意してはいるのですが、あいにく他のキャリアにはそのような方法が用意されておりません。
エヌ・ティ・ティ・ドコモが採用しているインタラクティヴ再生モードを実現する方法は、以下の通りです。
declare="declare"属性を与え、またid属性でIDを与える。iswf="#与えたID"属性を与え、href属性の値はフラッシュに対応しない端末向けの代替コンテンツへのURIを与える。具体的には以下のようになるでしょう。
<object id="FLASH1" declare="declare" type="application/x-shockwave-flash" data="flash.swf"><param name="loop" value="on" /><param name="quiality" value="high" /></object>…<a iswf="#FLASH1" href="alternate.html">フラッシュ(非対応端末では静止画像)を見る</a>
ここでは、
flash.swfalternate.htmlFLASH1としております。
この方法は、他のキャリアでは利用出来ず、従って他キャリアではフラッシュが使えるか否かに拘らず代替コンテンツへのリンクとなるでしょう。
また、初めのところで書いた<object>要素がインラインで埋め込まれてしまう事も予想されます。
インタラクティヴ再生モードの場合、非対応環境への配慮などの問題が付き纏います。
この点を完全に克服するには、リンク先にフラッシュではなく、機種を判別してフラッシュに対応していたらフラッシュを、対応していない端末には代替コンテンツを配信するウェブプログラム(CGIなど)へのURIを指定するのが一番現実的かと思われます。