25229


ネットワークドライブに置いたexaple.mp4を新規に読み込み、  
すべてデータを読み込み終わってから再生を始めたいです。  
example.mp4は100MBくらいあり、index.htmとexample.mp4は  
ネットワークドライブに置いてあります。

キャッシュを使わないように下記のように書いてみました。

[code]

    <head>
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-cache">
    <body>
    <video src="example.mp4" width="1280" height="720" controls  preload="auto" autoplay></video>
    
[/code]

しかし、あまりに早く表示されるので、キャッシュを再生している  
or  
動画の読み込み途中で再生を始めているのではと疑っています。  
修正すべき点があればご教示ください。

ブラウザはFirefox39.0.3で検証しています。


CC BY-SA 3.0
2016-05-26T15:49:43.730
25204
2016-05-27T12:25:44.343
2016-05-26T16:17:29.863
7590
7590
question
html5
動画ファイルを新規に読み込み、すべてデータを読み込み終わってから再生を始めたい


まず、`autoplay` は、停止しない程度にバッファリングして、再生可能になったら即座に再生を開始する、というフラグです。

> 1 番目の例では、データのダウンロードのために再生途中に一時停止する必要がない程度までデータを受信できると、自動的に再生が始まります。  
>  <https://developer.mozilla.org/ja/docs/Web/HTML/Element/video>

よって、

> 動画の読み込み途中で再生を始めている

の理解は正しいと思います。

ではどうするかというと、本家で js で制御している回答を見つけました。

[html5 - Another: Force Chrome to fully buffer mp4 video - Stack
Overflow](https://stackoverflow.com/questions/18251632/another-force-chrome-
to-fully-buffer-mp4-video)

[javascript - Fully buffer video in Chrome - Stack
Overflow](https://stackoverflow.com/questions/21628953/fully-buffer-video-in-
chrome)

a. ajax で取得して、video タグの src に入れる方法と、  
b. js に再生ボタンを押させて、全てバッファリングしてからDOMに追加する方法があるようです。

といっても、chrome と firefox
は、バッファリングの仕方が異なるようで、そのままは使えないかもしれませんので、適宜修正されると宜しいかと思います。


CC BY-SA 3.0
2016-05-27T12:25:44.343
25229
2016-05-27T12:25:44.343
2017-05-23T12:38:55.307
-1
7471
25204
answer