嗨,我对javascript很新。我有一个.webm和.mp4视频源,但我如何在javascript中添加另一个源,我只设法放入1(webm),我需要添加另一个的代码是什么?
提前谢谢你。
嗨,我需要放入JS的原因是因为divx插件正在替换html5视频元素,就像在这个帖子上Prevent divx web plugin fron replacing html5 video element?
这是我的代码
<script type="text/javascript">
function changevid() {
document.getElementById('vid').innerHTML = '<source src="http://avalonplay.com/video/loginvideo.webm" type="video/webm" />';
document.getElementById('vid').load();
}
</script>
<body onload="changevid()">
<video id="vid" width="800" height="450" loop="loop" preload="auto" autoplay style="width: 100%; height: auto; margin:0; right: 0;">
</video>
</body>
答案 0 :(得分:2)
您可以使用.appendChild()
代替.innerHTML
但更好的解决方案是测试浏览器支持,然后只添加支持的视频类型:
window.onload = function(){
var vid = document.getElementById('vid');
var source = document.createElement('source');
var supported = supportedVidType();
source.src = 'http://avalonplay.com/video/loginvideo'+supported.src
source.type = supported.type
vid.appendChild( source );
}
var supportedVidType = function(){
var vidTest = document.createElement( "video" )
var types = {}
if ( vidTest.canPlayType ) {
// Check for MPEG-4 support
types.mp4 = "" !== vidTest.canPlayType( 'video/mp4; codecs="mp4v.20.8"' )
// Check for Webm support
types.webm = "" !== vidTest.canPlayType( 'video/webm; codecs="vp8, vorbis"' );
// Check for Ogg support
types.ogg = "" !== vidTest.canPlayType( 'video/ogg; codecs="theora"' );
}
for( type in types ){
if(types[type]) {
return {
type: 'video/'+type,
src: '.'+type
}
}
}
}
这是一个jsfiddle:http://jsfiddle.net/2gd3m/2/
答案 1 :(得分:2)
我建议你只添加你需要的那个。
例如:
function changevid() {
var vid = document.getElementById('vid');
if (vid.canPlayType('video/mp4') != '') {
vid.src = 'http://avalonplay.com/video/loginvideo.mp4';
}
else if (vid.canPlayType('video/webm') != '') {
vid.src = 'http://avalonplay.com/video/loginvideo.webm';
}
vid.load();
}
答案 2 :(得分:0)
视频标记支持多种来源:
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>