2011-12-24 189 views
2

我试图让使用HTML5视频功能在现代浏览器的播放列表。制作HTML5视频播放列表的最佳方式?

我迄今发现的唯一方法是删除视频标签,然后用不同的源像下面再追加吧..

$("second video link").click (function(){ 
    $("#video wrapper").remove(); 
    $("#video wrapper").append(" new video tags "); 
}); 

我认为必须有一个更好的办法...

+0

编码是不是很不够的,只是改变src属性? – powerbuoy 2011-12-24 23:04:47

+0

您需要修改SRC或重新

+0

@powerbuoy //我还没有尝试过。我会尝试。 – Moon 2011-12-27 20:46:31

回答

2

答案取决于你喜欢什么样的方式以及你想要为视频提供哪些浏览器。如果您通过源子元素提供多个源,则IE9会在video.src()函数中失败。如果您只需要一个浏览器即可运行,请检查caniuse.com的webm和mp4以查看哪个浏览器支持哪个编解码器。如果你发现你需要多种编解码器为观众同时使用mp4-和WebM,只有浏览器,你将不得不做.canPlayType()检查使用的.src()函数之前,并消除会失败源(虽然这张支票也不是防弹的)。 Android 2.2(或者是2.1,请改正我)根本不知道funciotn。一些Mac OSX浏览器有类似的问题afaik。

底线:您应该使用canPlayType()组合来过滤错误的来源,然后使用数组或其他可排序列表来抓取下一个视频源,并在视频触发“已结束”事件后进行设置元素使用src()函数。我还希望在更改源代码时设置视频元素的type属性以规避某些浏览器的怪癖。

可能的类型有:支持MP4和M4V文件视频/ MP4; webm文件的视频/ webm;视频/ ogg为ogv文件;无论是通过某种形式的服务器端脚本提供的类型或您在JS文件扩展名,然后做一个开关(){...}或其他如()...

你可以很容易地得到扩展通过

var sourceExt = (sourceString.split(".")).pop(); 

其中sourceString是包含源

的网址还应该检查浏览器的规格,以符合他们的要求影片的变量。 iOS版的实例需要mp4文件与基线轮廓