◆ C研でのテーマ : パペットガーディアンとかマジカロスとか ◆
◆ 修正◇動画プレイヤー ◆
 当ブログの動画プレイヤーですが、今年の4月にFlashからHtML5に変更しました。どうもそれ以来、動画が再生できないケースが発生しているようなのです。ロゴが表示されたままだそうです。
 調べてみたところ、ローカルストレージをオフにしているとエラーが発生しスクリプトが止まってしまうことが判明。そのせいで、ロゴ画面から先に進めなかったわけですね。
 いや、ローカルストレージが使えるかどうかは常にチェックしていたのですが、どうも僕のやり方だとそれでもエラーは免れないようで……。なので、チェックの方法を変えた次第です。

 そもそもローカルストレージとはなんぞ? 簡単に言うと、Cookieの進化版とでもいいますか。詳しくはこちらに丸投げ(笑)
 当動画プレイヤーの場合、最後に再生した動画のIDやボリューム情報を格納しています。なぜ最後に再生した動画を記録するのかと言うと、一言で言えば再生制御のためです。

 例えばこの記事のように、記事内に複数の動画が存在している場合。ある動画を再生中に、他の動画を再生したとします。すると、両方の動画が再生されることになります。
 それを防ぐには、見ている動画を止めてから別の動画を再生しなくてはなりません。が、いちいち面倒臭いですよね。別の動画が再生されたら、それまで見ていた動画は自動的に止まってほしい。
 その方法はいくつかあると思いますが、僕はローカルストレージを使用することにしました。

 以下が動画再生時の内部処理の流れです。
ローカルストレージに動画のIDが記録される

ローカルストレージが更新されたので、各プレイヤーにイベントが発生する

イベントを受けて、各プレイヤーはローカルストレージから動画IDを取得

自分が再生している動画IDと等しいか?

Yes(true)なら再生を継続
No(false)なら再生を停止
 ざっとこんな感じです。
 今回の修正でローカルストレージをオフにしていても再生は可能となりますが、以上のような処理はなされませんのでご了承ください。

8/26/2018 13:41 etc.

comments & TB (0)

trackback URL