Archive for the ‘Flash’ Category

このページの目次

JavascriptによるFlashの頭出し再生

月曜日, 5月 21st, 2007

こんにちは、なかわけです。

JavascriptによるFlashの頭だし再生。仕事で作ってみたのでまとめときます。

概要はこんな感じ。ひとつのFlashの中で複数のコンテンツが存在するときに、HTMLのリンクからある特定のコンテンツから再生する。

つくりかたは結構カンタンで、Flashを配置しているHTMLにJavascriptの「location.search」を使用してURLのおしりに付けている変数を取得します。location.searchって賢いもんで、たとえば

http://nakawake.net/flash.html?content=4

というURLがあったときに?content=4だけ取得するんです。すごい。

この取得した値をFlashに受け渡すには参照ファイル名の後にくっつければいいので、Javascriptと一緒に書くと、

document.write(' <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" id="urlvariables" align="middle"> ');
document.write(' <param name="allowScriptAccess" value="sameDomain" /> ');
document.write(' <param name="movie" value="urlvariables.swf' + location.search + '" /> ');
document.write(' <param name="quality" value="high" /> ');
document.write(' <param name="bgcolor" value="#ffffff" /> ');
document.write(' <embed src="urlvariables.swf' + location.search + '" quality="high" bgcolor="#ffffff"   width="550" height="400" name="urlvariables" align="middle" allowScriptAccess="sameDomain"   type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> ');
document.write(' </object> ');

とすれば、JavascriptがFlashを出力しつつURLの変数を取得してFlashに渡してくれます。
あとは別のHTMLページのリンクを、

<a href="flash.html?content=1">コンテンツ1</a>
<a href="flash.html?content=2">コンテンツ2</a>
<a href="flash.html?content=3">コンテンツ3</a>

と書けば、リンクをクリックしたときにFlash変数を受け取って該当のコンテンツから再生されます(もちろんここで触れてないですが変数を受け取った後のFlash内の処理もActionScriptで書かないといけませんけどね)。

とまあここまでなら日記に書くことはないですが、今日仕事で変な現象に出会いました。上記のように作ったページがInternetExploreでは正常に再生されたのですが、FireFoxで見てみると白い画面(背景色)で固まってしまいました。

そのときは仕事の締め切りが迫っていてかなり焦りまくりました。
で、結局何が原因だったかというと、こんな感じでした。

[ 推測できる原因 ]
Flash全体の容量が不明のため読み込み状態が続いてしまう

途中から再生するために、始めに読み込むべきFlash全体の容量がわからなくて処理がつまずいていたようです。IEはそこらへんをうやむやに処理したらしく再生できたようでFFは止まってしまいました。

[ 対処法・解決方法 ]
ムービーの最初にプリローダをつけてロードが完了したら該当のコンテンツにジャンプするようにActionScriptを書く

全体の容量がわからないのであればわかるようにプリローダーをつけてあげればいいだけの話でした。ここでカンタンに書いておりますが原因究明にかなり時間使っちゃったよぅ・・・。

FlashのExpress Install

金曜日, 4月 13th, 2007

こんにちは、なかわけです。

FlashのExpress Installって知ってますか?この間知ってちょっと感動しました。
古いPlayerでFlashサイトを見たときに、「最新版のFlashPlayerをダウンロードしてください」って画面が表示されて、それをクリックするといちいちAdobeさんのサイトに飛んでっちゃって今まで見てたサイトが消えちゃう・・・。って言うことが回避できるみたいです。

▼今までの「ダウンロードしてください」のイメージ
oldinstall

▼「Express Install」を使用したときのイメージ
expressinstall
(c)Adobe

コレを使えばサイトの運営側もお客さんを逃さないし、サイトの訪問側もイライラストレスも軽減されそうです。実際やってみましたがFlashの制作側はちょっと面倒くさいですw
便利っちゃ便利。

▼Adobe(macromedia)の紹介ページ
http://www.adobe.com/jp/devnet/flashplayer/articles/expressinstall.html

Flashのタイムラインに動画を埋め込んだときの圧縮と容量の関係

金曜日, 3月 23rd, 2007

こんにちは、なかわけです。

今日はFlashの動画圧縮の話。

今日仕事でFlashに動画を取り込む作業をしたのですが、Flashの動画圧縮の変な仕様に気がつきました。気になったので少し実験してみました。
今回はムービーをタイムラインに埋め込んだ場合の話で、FlashPlayerのバーションは6以下を対象とした設定です。

6MBの動画(15秒)をソースとし、読み込む設定で画質をある値に固定し、ムービーの画面サイズ(解像度)を大・中・小と3つのサイズのswfを書き出しました。出力されたswfのサイズは3つとも1.2MB程度とほとんど差がありませんでした。予想では画面サイズ(解像度)が小さいほど容量が小さいくなると考えていたのですが、そうではないようです。

次に同じ動画ソース(6MB・約15秒)の画面サイズを固定して、ビットレート(1秒間のデータ量)を高・中・低と3つのムービーを書き出したところ、こちらは予想通りビットレートが高い方が容量が大きく、低い方が容量が軽かったです。

これらの実験からわかったことは、動画ソースの尺(時間)が決まっている場合、画面サイズに関係なく容量を軽くするには画質を落とすしか方法がないということになります。

しかしこれだと高画質で軽いFlash動画が作れないことになります。きっと何かいい方法があるはず。ちょっと研究してみようと思います。意味わからん。

FlashにPhotoshopファイルを読み込み

金曜日, 2月 23rd, 2007

こんにちは、なかわけです。

またFlashネタです。背景が透けてる(透過)画像をFlashで動かしたいときの話。

透過gifを使うと画像のふちにジャギー(ギザギザ)が見えてしまったり、画像をパスでなぞってマスクをつくるのが面倒くさかったり・・・。そんなときはPhotoshopファイルをそのまま読み込みます。

画像の処理はFlash上でするよりいくらか加工しやすいのでPhotoshopで行って、くり抜きたい画像を作ってそれをpsd形式で保存(このとき背景レイヤーは削除しておきます)。それをそのままFlashで読み込みとすれば、レイヤーを保持したまま透過した画像が読み込めます。あー便利。

このときに注意!読み込むpsdファイルがネットワークサーバーなど、作業中のパソコン以外の中にある場合エラーが発生して読み込みに失敗します。対策としては作業中のパソコンにpsdファイルをコピーするというそのままの方法で解決します。

あー、ちょっと悩んじゃったよ。『FLV書き出しについてのバグ』のバグと同じだったよ。しょぼん。

FlashPlayerのアンインストール

木曜日, 2月 22nd, 2007

こんにちは、なかわけです。

先日の『FlashPlayerのダウングレード』の話の続き。

FlashPlayerの旧バージョンを手に入れてもそのままダウングレードできないことがあります。windowsの場合、コントロールパネルから、プログラムの削除としてもうまくブラウザのプラグインまで削除されないのです。Macintoshの場合はlibraryのpreference(だったかな?)から削除すればたぶん削除できます。

でも、わからん!という人も多いと思うし、いちいちめんどくさい。で、調べてみたら、英語版だったけどAdobe社さん(旧macromediaさん)がアンインストーラを配ってました。

▼英語版FlashPlayerアンインストーラ
http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_14157

英語版ではありますが、英語読めなくても使えます。大丈夫。知っておくと便利。持っておくと便利。

FlashPlayerのダウングレード

木曜日, 2月 15th, 2007

こんにちは、なかわけです。

今日はFlashPlayerのダウングレードの話。
ウェブデザインをしていると動作確認のためにFlashPlayerが必要なときがあります。
お客さんから「Flashが見れないんですけど~・・・」と言われても「アップグレードしてください」とはなかなか言えず、「すいません。」のときが多いハズ。
一回アップグレードしちゃったFlashPlayerはダウングレードできないのかな~といままで思ってましたが、実は古いFlashPlayerがアーカイブとして取ってあったんですね、macromediaさんのサイトに。

▼コレがそのFlashPlayerのアーカイブのURL
http://www.macromedia.com/support/flash/ts/documents/oldplayers.htm

いやいや、偶然見つけてラッキー☆(←死語)でしたよ。知らない人結構いるんじゃない?
FlashPlayerのダウングレード、試してみてください。

Flash8インストールバグ

水曜日, 10月 25th, 2006

環境によってかもしれないけど、Flash8は1回目のインストールに失敗します。「ディスク1を挿入してください」みたいなエラーが表示されて、okをクリックしても進みません。その後一回キャンセルしてもう一回インストールCDを入れて、インストールボタンをクリック。そのときに、「修復」と「削除」の選択ダイアログが出るので、「修復」を選択して進んでいくと問題なく修復されてインストールされるようです。

なんだよ、このバグ。

FLV書き出しについてのバグ

木曜日, 10月 12th, 2006

こんにちは、なかわけです。

今日は先日発見したFlash8のバグの話です。

仕事で30分くらいのムービー(そのときは.mov)を公開する作業があったんだけど、Flashに読み込んでFLVに書き出すときに、必ずエラーがでてしまい、うまく書き出せませんでした。
ムービーが長いからかな、っと思って適当な短いムービーを書き出そうとしても同じようにエラーがでやがりました。

なんだなんだといろいろ現象を観察したところ、どうやらLAN環境にあるPCでそのマシンとはちがうHD上(たとえばファイルサーバとかでドメイン管理(?)している環境)でFLV書き出しを行おうとするエラーになってしまうようでした。

つまり、FLVの書き出しはそのPCのデスクトップとかDドライブとかでないとできないということです。
これを発見したときは、なんだよーーー!という気持ちでいっぱいでした。このバグに対するアップデータはもうでてるのでしょうか。まだ調べてません。