我暂停使用其pause()
方法的视频..问题是音频继续播放...我也尝试从Firefox的Javascript控制台中暂停它。 。 什么都没发生。该视频格式为.ogg,甚至没有在Chrome中播放(因为我认为它不受支持)。 我在Amazon S3上托管了视频,并且完美流传。我正在动态创建元素,从JSON请求中加载它的信息。 下面是一些代码:暂停视频不会停止HTML5视频标签中的音频
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();
}
}
}
我按照你的建议,不要每次重新创建元素,它的工作原理。但我检查了方法是否两次输入相同的if块:不行。我认为这是一个错误..顺便说一句,我发布了工作代码,如果有人有同样的问题。 ;-) – 2012-08-09 14:07:33
太棒了!很高兴帮助。 – heff 2012-08-09 22:25:50