2010-11-22 62 views
2

在Chrome中(7.0.517.44)我使用<video>标记,音频将每隔一段时间播放播放视频。声音每隔一段时间播放视频在Chrome中播放

为什么音频不总是随视频一起播放?

在页面:

<div id="VideoShow"> 
    <video id="VideoPlay" width=800 height=600></video> 
</div> 

在点击这个JS运行。

function playVideo(videoName) { 
    $("#VideoShow").fadeIn(300); 
    var Vid = document.getElementsByTagName('video')[0]; 
    Vid.src = videoName; 
    Vid.play(); 
    Vid.addEventListener('ended', function(e) { 
     closeVideo(); 
    }, false); 
} 

function closeVideo() { 
    var Vid = document.getElementsByTagName('video')[0]; 
    Vid.removeEventListener('ended', arguments.callee, false); 
    Vid.pause(); 
    $("#VideoShow").fadeOut(300); 
} 

回答

1

最近我和<audio>标签有一个非常类似的问题。尽管我无法确定实际的原因,但我可以通过从DOM中删除旧的<audio>元素并在每次调用play()之前立即用相同的元素替换它来解决此问题。

+0

似乎每次都重新制作视频标签也是如此。 – corymathews 2010-11-30 21:51:27

0

但我仍然觉得这些元素的行为不一致。

您是否尝试过等待运行.play()方法,直到收到canplaycanplaythrough事件?

可能值得一试。