node.js
,javascript
& HTML5
を使用して参照プレーヤーアプリケーションを開発しています。私は正常に1つのビデオをロードするプレーヤー&はそこから診断データを生成します。私が目指しているのは、ビデオをロードするプレーヤーを生成することです。&は、現在のビデオが終了する10秒前に次のビデオのバッファリングを開始します。私は別のビデオオブジェクトを生成することができるビデオタグを複製しようとしましたが、それを既存のものの横に表示します。どのようにこれを達成するためにいくつかのアドバイスを提供することができますしてください。前もって感謝します。バッファリングで複数のビデオオブジェクトを連続して再生する方法
HTML5:
<div id="player" class="video"> <video width=1280 height=720 autoplay data-dashjs-player controls id="video" src="{{{ src }}}"></video> // main video object that takes the src variable </div>
<script type="text/javascript">
// media events
var server_log, server_glob, videoArray = [{
"MediaState": []
}];
// joins the media events into a 'glob' that can be sent every few seconds
server_glob = function(t, v) {
console.log(t, v);
videoArray[0]["MediaState"][t] = v;
}
server_log = function() {
var out = "";
// Serialize videoArray
for (var i = 0; i < Object.values(videoArray[0]["MediaState"]).length; i++) {
var key = Object.keys(videoArray[0]["MediaState"])[i];
var value = JSON.stringify(videoArray[0]["MediaState"][key]);
out += key + "=" + value + "&";
}
// send a xhr/ajax POST request with the serialized media events
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "/tel", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // this is my favourite format of POST request, looks alot like JSON
xhttp.send(out);
}
</script>
HTMLビデオの 'ended'イベントが発生したときに新しいvideo.srcをロードするか、それはあらかじめバッファリングされません。代わりに、現在のビデオの長さを取得することであり、長さ10秒で、隠されているが、プリロードがautoに設定された新しいビデオ要素をロードし、現在の要素の終了した火災がそれらをスワップすると) – Offbeatmammal
@Offbeatmammalすごくいいね!これを説明するコード例がありますか? –
どのオプション?どちらもかなりシンプルです...私は今日後で一緒に何かをノックすることができるでしょう。あなたがXHRを介してビデオ全体を読み込むようなことをしない限り、おそらく100%シームレスではないでしょうが、それは新しい虫の缶を開きます! – Offbeatmammal