Video.js改变源,但不显示新的源
Video.js changing source, but does not show new source
很抱歉我对这个话题缺乏了解
我有一个脚本,改变视频播放器的来源。它就是这么做的。唯一的问题是Video.js播放器播放分配给它的第一个源。
document.getElementById("vid-player_html5_api").innerHTML = "";
document.getElementById("vid-player_html5_api").innerHTML = "<source src='" + link + "' type='video/mp4'>";
document.getElementById("vid-player_html5_api").muted = false;
如果有两个按钮,你点击按钮1它会改变播放器的源并显示正确的视频。然后假设你点击了按钮2它会改变播放器的源,但它仍然会显示与按钮1
相同的视频这是证明,它改变了源代码,我检查了Chrome开发工具,肯定足够它改变了源代码
我如何解决这个问题?
刚刚发现这篇文章,在VideoJS当前的模式是设置。src与JSON对象,例如
player.src({ type: 'video/mp4', src: new_url });
你可以尝试如下,
function playVideo(videoSource, type) {
var videoElm = document.getElementById('testVideo');
var videoSourceElm = document.getElementById('testVideoSource');
if (!videoElm.paused) {
videoElm.pause();
}
videoSourceElm.src = videoSource;
videoSourceElm.type = type;
videoElm.load();
videoElm.play();
}
<video id="testVideo" width="400" controls>
<source id="testVideoSource">
</video>
<br/>
<input type="button" value="Play Video 1" onclick="playVideo('http://www.w3schools.com/html/mov_bbb.mp4', 'video/mp4')" />
<input type="button" value="Play Video 2" onclick="playVideo('http://www.w3schools.com/html/mov_bbb.ogg', 'video/ogg')" />
对我来说唯一有效的方法就是这样
var player = videojs(document.querySelector('.video-js'));
player.src({
src: 'videoURL,
type: 'video/mp4'/*video type*/
});
player.play();
你需要在加载完新视频后再次调用video.js:
var current_vid = document.getElementById("vid-player_html5_api")
var next_vid = document.createElement('video');
next_vid.innerHTML = '<source src="' + link + '" type="video/mp4">';
next_vid.muted = false;
current_vid.parentNode.replaceChild( next_vid, current_vid );
videojs(current_vid, {}, function(){
// do something when video.js is ready
});
Video.js:动态加载视频
中返回这个
return() => {
if(player){
player.dispose()
}
}
相关文章:
- 隐藏/显示 js 代码不会在 IE8 或更低版本上运行
- 关闭网页时没有显示 Js 的工作时间
- Firebug不再显示JS错误
- 如何在标题标签上显示 JS 变量
- 为什么突出显示.js忽略了语言类
- 在某些情况下显示 JS 警报
- 带有文本显示js功能的图像映射 - 某些部分不显示
- 防止显示.js缩放
- 突出显示 pre 标记中的语法,并突出显示.js
- 更改滚动显示.js视口
- 如何使用 bower 构建依赖关系(例如突出显示.js)
- angularjs:不能显示 JS 'typeof' 的返回值
- 提交后显示 JS/Ajax 消息
- 突出显示.js在文本区域中
- 车把内脚本中的 HTML 在使用 ember 时不显示.js + 剑道 UI
- 使用 jQuery.AJAX 在 Div 中显示 JS 图表
- 在样式模式 (jQuery UI) 窗口中显示 JS 警报
- 突出显示.js在 AngularJS SPA 中不起作用
- Gulp uglify 失败并显示 js 解析错误
- 使用Sharepoint列表值时未显示JS警报