DMM Samplerのアップデートで、動作の再生をDMM標準プレーヤーからFlowPlayerに変えました。今回はその導入経緯とFlowPlayerの簡単な使い方についてまとめておきます。
プレーヤーを変えるきっかけ
前々から、JavaScriptからフラッシュ動画プレーヤー(~.swf)を操作したいなと思っていました。
DMM Samplerでいえば、「動画が切り替わった時に自動再生したい」という目標がありました。
それを実現するにはActionScript側でJavaScriptから呼び出すための設定を行う必要があるのです。
が、DMMの標準プレーヤは実際そのような設定がされているのかかが分からないため、容易ではなさそうです。
(ActionScript側のメソッド名を知る必要があるし、外部サイトから呼び出せるようにセキュリティレベルを設定されている必要がある。)
他に考えたこと
HTML5で用意されているvideoタグを使えばいいじゃん!と思いました。
動画コントロール用のJavaScriptメソッドが用意されているからです。
しかし問題が発生。DMM無料動画が提供している動画のソースファイルはmp4形式しか無いようなのです。
FirefoxやIEなどはvideoタグによるmp4形式動画の再生には対応していません。
そのためこの方法は断念せざるを得ませんでした・・・
情報収集した結果FlowPlayerに行き着く
で、色々探した結果JavaScriptで動画制御が可能な「FlowPlayer」に辿り付きました。
一番簡単な使い方
まずJavaScriptソースを読み込む。
<script src="http://releases.flowplayer.org/js/flowplayer-3.2.13.min.js""></script>
次にaタグを利用してhref属性に動画ソース(ファイル名やURL)を指定する。
<a id="player" href="hogehoge.mp4" style="display:block;width:560px;height320px;margin:0 auto"></a>
最後にflowplayerメソッドを使って動画を読み込む。
<script language="JavaScript"> flowplayer("player", "http://releases.flowplayer.org/swf/flowplayer-3.2.18.swf"); </script>
これだけです。
ちなみにflowplayerが実行されると、aタグ部分が以下のようなobjectタグに置き換わります。
<a id="player" class="player" style=style="display:block;width:560px;height320px;margin:0 auto;" href="hogehoge.mp4"> <object id="player_api" width="100%" height="100%" type="application/x-shockwave-flash" data="http://releases.flowplayer.org/swf/flowplayer-3.2.18.swf" name="player_api"> <param value="true" name="allowfullscreen"> <param value="always" name="allowscriptaccess"> <param value="high" name="quality"> <param value="#000000" name="bgcolor"> <param value="config={"playerId":"player","clip":{"url":"hogehoge.mp4"},"playlist":[{"url":"hogehoge.mp4"}]}" name="flashvars"> </object> </a>
JavaScriptから制御する
これも簡単です。例えば再生したい場合は、
<script language="JavaScript"> flowerplayer("player").play(); </script>
一時停止したい場合は、
<script language="JavaScript"> flowerplayer("player").pause(); </script>
簡単!これを求めていた!
ちなみにページ内のプレーヤーへのアクセスはidを指定する以外にも色々あります。
<script language="JavaScript"> // ページ内の先頭のプレーヤーを取得 flowplayer(); // インデックスを指定してページ内の2つ目のプレーヤーを取得 flowplayer(2); // jQueryを読み込んでいればflowplayerの代わりに短縮形のメソッドも使える $f(); </script>
この他にもたくさんの機能があります。今後のアップデートも捗りそう!
そうそう、全然関係ないけど
>ljavascriptl
ll<
でコードをくくるとシンタックスハイライトしてくれるって初めて知りました・・・
JavaScript本格入門 ?モダンスタイルによる基礎からAjax・jQueryまで
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2010/11/27
- メディア: 大型本
- 購入: 29人 クリック: 673回
- この商品を含むブログ (53件) を見る
- 作者: David Flanagan,村上列
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/08/10
- メディア: 大型本
- 購入: 12人 クリック: 252回
- この商品を含むブログ (18件) を見る
デザイニングWebアクセシビリティ - アクセシブルな設計やコンテンツ制作のアプローチ
- 作者: 太田良典,伊原力也
- 出版社/メーカー: ボーンデジタル
- 発売日: 2015/07/27
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る