フラッシュプレーヤーの製作 : ぺたっとPHPサンプルソースコード |
今更ですが、Flashプレーヤーの製作依頼があったので作ってみました。
ただここで作り方を解説するわけではなくメモ程度になりますが、
ヒントにでもなれば幸いです。
まず基本となるのが
NetConnection()
と
NetStream()
で、そこに
attachVideo()
を使います。
あとはplayやpauseなどを使う感じです。
playにはパスを指定するわけですが、 例えばflash.swfというプレイヤーを作り、 あとはflvファイルを外部ファイルとして参照する場合、 パスではなくplay(myurl)のように変数とします。
このmyurlはFlashプレイヤーを表示しているhtmlページのObjectタグでの呼び出しで、
param name="flashvars" value="myurl=test.flv"
として渡すことができます。
これでひとつのプレーヤーでいくつものflvファイルを呼び出して再生することができます。
プレイヤーは
param name="movie" value="flash.swf"
としてパスを指定します。
embedで貼り付ける場合は
value="myurl=test.flv"
とし、プレイヤーは
src="flash.swf"
とします。
肝となるのはこれくらいで、あとはボタンを配置したり、ボリューム調整をしたりするくらいです。
ボリュームはsetVolume、再生停止はpauseを呼び出すたびに再生と一時停止を繰り返すようです。
シークバーはそれ用のものが用意されているようですが、
Actionscriptのリファレンスですぐに見つからなかったので適当に作りました。
シークバーとバー上を動いていく画像を用意し、
動画の時間とシークバーの幅の割合からヘッドが動く度に画像も移動させる感じです。
ここで問題となったのは動画の時間が長ければ長いほど誤差が出ることで、
恐らく小数点以下が関係してくるのだと思います。
そのため、動画の再生時間に合わせて誤差を修正するようにしました。
これでひとまずの完成となるのですが、 プレイリストも付けたいとのこと。
リスト自体はテキストファイルで作ってもらうことを前提として、
ファイル名を列挙したtxtファイルを作り、
ロード時にファイル名を変数に格納します。
プレイヤーの右側にそれを一覧表示し、
クリックされたら上で書いたmyurlに代入するだけです。
こうして、フォルダ内にflash.swfひとつと、複数のflvファイル、プレイリストテキストを置いておき、
htmlページ側からそれぞれを呼び出す(テキストファイルは指定しなくてもよい)という感じとしました。
あとから思ったのが、PHPページでflvをアップロードさせて、 プレイリストを作るページを作ればもっと良かったような気がしますが、 そこまで言われなかったのでめでたしめでたし?
当サイト「ぺたっとPHPサンプルソースコード」は、初めてPHPを触る初心者でもすぐにPHPプログラミングができる・分かるサイトです。
PHPのサンプル
0から始めるPHP
日記