javascript - 更改视频源而不停止 HTML5 视频

标签 javascript jquery html html5-video

如何更改 HTML5 视频质量?这是我到目前为止的脚本。它有效,但视频从头开始。有没有办法像 YouTube 一样在不停止视频的情况下改变视频质量?

<video src="videos/nesemdonti_1080p.mp4" id="video" autoplay></video>
<div id="720p" class="quality">720p</div>


$("#720p").click(function() {
    $('video').attr("src", "videos/nesemdonti_720p.mp4");
});

fiddle :http://jsfiddle.net/nz3eLrt2/3

最佳答案

解决方案是我们必须确保 720p 视频已准备好播放。

HTML5:

<video id="preload" style="display:none;">
</video>

<video src="videos/nesemdonti_1080p.mp4" id="video" autoplay>
</video>
<div id="720p" class="quality">720p</div>

JS:

$("#720p").click(function() {
    $("preload").attr("src", "videos/nesemdonti_720p.mp4");

    $("preload").on("canplay",function(){
        $('video').attr("src", "videos/nesemdonti_720p.mp4");
    });
});

当浏览器可以开始播放指定的音频/视频时,会发生“canplay”事件。 请参阅:http://www.w3schools.com/tags/av_event_canplay.asp

关于javascript - 更改视频源而不停止 HTML5 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25482395/

相关文章:

javascript - 从 JavaScript INLINE 中去除非数字或小数

javascript - jQuery如何计算实际屏幕距离?

javascript - 在单个 HTML 页面中单击 CSS 或 Javascript 中的 div 标签之间的平滑过渡

javascript - <div> 高度在 if 语句中不变

javascript - Jinja2 加载新数据

javascript - jQuery 在滚动时调整菜单栏的大小并改变图像

javascript - 页面加载后淡入内容

javascript - 是否可以美化这段 JavaScript 代码?

html - 使用 W3C 有效徽章有什么意义?

javascript - jQuery:根据任意数量的复选框隐藏/显示 div