canplaythrough
JavaScript でサブスクライブできるという DOM イベントがあります。このイベントは、ブラウザが一時停止せずにビデオ全体を再生できると推定したときに呼び出されます。
EDIT : 同様に、progress
イベントを使用して、バッファリングされたビデオの量を判断できます。
var player = document.getElementById('video_player'); // The <video> element
player.addEventListener('progress', onVideoProgressUpdate, false);
function onVideoProgressUpdate(e) {
var percentageBuffered = 0;
if (player.buffered.length > 0 && player.buffered.end && player.duration) {
percentageBuffered = player.buffered.end(0) / player.duration;
} else if (player.bytesTotal != undefined && player.bytesTotal > 0 && player.bufferedBytes != undefined) {
percentageBuffered = player.bufferedBytes / player.bytesTotal;
}
if (percentageBuffered == 1) { // 100% of the video has been buffered
player.Play();
}
}