この現象について調査中です。
現象
20個近くの動画をランダムにピックアップして10個程度順番に再生する、というコンテンツ。
全動画は再生確認済で、基本は止まらない。
しかし、時折emptiedというエラーが発生し、そのせいで動画の再生が止まる。
環境
- Windows 7
- Google Chrome 27, 28
- localhostで配信
対策
video.addEventListener('emptied', function () {
this.load();
this.play();
}, false);
と、エラー発生時にもう一度読み込みを促すことで再生される。
が、これでも再生できずに完全に動画の再生が止まることがある。
こうなると再生が行われず、最初のフレームの画像だけが表示されている状態で止まる。コントロールを表示してシーケンスをいじっても変化なし。
推測
今のところわかっているのは、おそらく、Chromeのいちタブで動画再生に関するなにがしかの問題が発生して止まっているよう。別タブを開いて動画を直に再生させると再生されることから、そのタブのプロセスだけで問題が起きているぽい。
そのため、 Dev toolsで動的にvideo要素生成して再生が止まったのとはまた別の動画を読みこませようとしてもまったく再生されない。
video.readyState === 4
になっているので、動画自体の読み込みは正常に行われている様子。
発生したら多分、JS側からの復帰は絶望的なので、発生しない対策を探すしかないかも。
推測2
ちなみにコンテンツはサイネージコンテンツなので、PC数台にコンテンツ自体を保存している。問題が出ているPCと出ていないPCがあって、色々確認したらChromeのVersionが違うPCで問題が出ている模様。
なぜか最新のVer28で問題が起きていて、前のVer27だと問題が起きていないぽい。(確率の話かもしれないけれど)
なので、27→28の変更に関するなにかが原因しているのかも。