【问题标题】:Sound plays every other time the Video plays in Chrome每隔一段时间在 Chrome 中播放视频时就会播放声音
【发布时间】:2010-11-22 17:40:21
【问题描述】:

在 chrome (7.0.517.44) 中,我使用 <video> 标签,并且音频只会在每隔一段时间播放视频。

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

在页面中:

<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);
}

【问题讨论】:

    标签: javascript google-chrome html5-video


    【解决方案1】:

    我最近遇到了与&lt;audio&gt; 标签非常相似的问题。虽然我无法确定实际原因,但我能够通过从 DOM 中删除旧的 &lt;audio&gt; 元素并在每次调用 play() 之前立即将其替换为相同的元素来解决此问题。

    【讨论】:

    • 似乎每次都重新创建视频标签也可以解决问题。
    【解决方案2】:

    我继续发现这些元素的行为不一致。

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

    可能值得一试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-31
      • 1970-01-01
      相关资源
      最近更新 更多