我有一个像这样的视频网址对象:
var urls = new Object();
urls['cail_ivt'] = {'mp4_url': http://link_to_.mp4', 'webm_url': 'http://link_to_.webm', 'flv_url': 'http://link_to_.flv' };
urls['cail_ty'] = {'mp4_url': 'http://link_to_.mp4', 'webm_url': 'http://link_to_.webm', 'flv_url': 'http://link_to_.flv' };
urls['cail_1'] = {'mp4_url': 'http://link_to_.mp4', 'webm_url': 'http://link_to_.webm', 'flv_url': 'http://link_to_.flv' };
urls['cail_2'] = {'mp4_url': 'http://link_to_.mp4', 'webm_url': 'http://link_to_.webm', 'flv_url': 'http://link_to_.flv' };
urls['cail_3'] = {'mp4_url': 'http://link_to_.mp4', 'webm_url': 'http://link_to_.webm', 'flv_url': 'http://link_to_.flv' };
_V_.options.flash.swf = 'http://static_server/video-js.swf';
我有一堆锚标签,它们的 id 是 urls 对象的关键:
然后我写了一个小 js 来绑定这些锚点击,并将适当的视频加载到播放器 div 中并显示它。它从不显示,也不播放。这似乎只发生在 ie9 中。
$('ul a.play_button').click(function() {
var campaign_id = $(this).attr('id');
var mp4_url = urls[campaign_id].mp4_url;
var webm_url = urls[campaign_id].webm_url;
var flv_url = urls[campaign_id].flv_url;
var video_player = '<video id="video" class="video-js vjs-default-skin" controls preload="none" width="640" height="360" poster="" data-setup="{}"> '
+ '<source id="mp4" src="'+mp4_url+'" type="video/mp4" />'
+ '<source id="flash" src="'+flv_url+'" type="video/flv" />'
+ '<source id="webm" src="'+webm_url+'" type="video/webm" />'
+ '</video>';
$('#player').empty();
$('#player').html(video_player);
});
不确定这是否是在播放器中处理多个视频的最佳方式,但这是我想出的。非常感谢讨论和帮助。