その方法を使用してビデオを一時停止していpause()
ます..問題は、オーディオが再生され続けることです...FirefoxのJavascriptコンソールからも一時停止しようとしました...何も起こりません。ビデオは.ogg形式であり、Chromeでも再生されません(サポートされていないと思うため)。私はAmazonS3でビデオをホストしましたが、完全にストリーミングされています。要素を動的に作成し、JSONリクエストからその情報を読み込みます。ここにいくつかのコードがあります:
function showVideo() {
var video = videodata;
var videobox = $('#videobox').first();
var videoplayer = document.getElementById('videoplayer');
if (video.Enabled) {
if ((videoplayer != null && videoplayer.currentSrc != video.Location) || videoplayer == null) {
console.log('Creating video elem');
videobox.empty();
videobox.append('<video id="videoplayer" preload="auto" src="' +
video.Location + '" width="100%" height="100%" autoplay="autoplay" loop="loop" />');
videobox.show();
}
} else {
if (videoplayer != null) {
videoplayer.pause();
console.log('Pausing video...');
}
console.log('Deleting video elem');
videobox.hide();
videobox.empty();
}
}
以前にも同様の質問を投稿しましたが、現在は他のブラウザを使用しているので、新しい質問を作成する必要があると思いました。
これが動作するコードです(ユーザーheffに感謝します!)
function showVideo() {
var video = videodata;
var videobox = $('#videobox').first();
var videoplayer = document.getElementById('videoplayer');
if (video.Enabled) {
if ((videoplayer.src != video.Location) || videoplayer.src == '') {
console.log('Playing video: ' + video.Location);
videoplayer.src = video.Location;
videoplayer.load();
videoplayer.play();
videobox.show();
}
} else {
if (videoplayer.src != '') {
console.log('Pausing video...');
videoplayer.pause();
videoplayer.src = '';
videobox.hide();
}
}
}