我正在使用jQuery和Flowplayer将FLV文件的链接转换为嵌入式视频,如下所示:
$(document).ready(function() {
if($('a[type^="video"]').length > 0) {
$('a[type^="video"]').each(function() {
var video_path = $(this).attr('href');
var video_box = $(this).parent();
video_box.html('');
video_box.css('width', '680px');
video_box.css('height', '460px');
video_box.flowplayer('/sites/default/files/flowplayer-3.2.7.swf', video_path);
});
}
});
除了所有视频同时开始播放外,此功能正常。我尝试过几种不同的方式添加autoPlay: false
,但到目前为止还没有一种方法可行。从文档中看起来我应该能够这样做:
video_box.flowplayer('/sites/default/files/flowplayer-3.2.7.swf', video_path, {clip: {autoPlay: false}});
但这不起作用。
答案 0 :(得分:3)
@Kevin
您不需要在flowplayer-a-tag周围添加额外的div。您需要做的就是在a-tag上设置display:block。
所以你的代码可以压缩到这个:
$('a[type^="video"]').each(function(i) {
$(this).css({'width': '680px','height': '460px','display': 'block'}).attr('id', 'player-' + i);
var player = $f('player-' +i, '../flowplayer.commercial-3.2.7.swf', {
clip: {
autoPlay: false
}
});
});
答案 1 :(得分:2)
您是否尝试过documentation中使用的语法?在你的每个循环中,你可以做到:
$f(this.parentNode, {src: "flowplayer.swf"}, {
clip: {
url: video_path
autoPlay: false,
onStart: function(clip){alert("Clip "+ clip.url);} // attach event listener
},
});
附注:行if($('a[type^="video"]').length > 0) {
不是必需的,因为jQuery只会遍历元素,如果有的话,否则它只是跳过块。
答案 2 :(得分:2)
我让它像这样工作:
$(document).ready(function() {
$('a[type^="video"]').each(function(index) {
var video_path = $(this).attr('href');
var video_box = $(this).parent();
video_box.html('');
video_box.css('width', '680px');
video_box.css('height', '460px');
video_box.attr('id', 'player-' + index);
$f(video_box.attr('id'), '/sites/default/files/flowplayer-3.2.7.swf', {
clip: {
autoPlay: false,
url: video_path
}
});
});
});
让$f()
函数起作用的关键是给它一个id。我使用的div没有id,所以我给了他们一行video_box.attr('id', 'player-' + index);
。
我仍然不知道为什么我无法获得jQuery object.flowplayer()方法来接受autoPlay: false
属性。但我想使用$f()
函数同样好。谢谢你的帮助。
答案 3 :(得分:1)
您可以向flowplayer传递一个选项对象,其中一个是自动播放,以下是此文档:http://flowplayer.org/documentation/configuration/
这是上页的一个例子:
flowplayer("player", {
src: "flowplayer.swf"
}, {
clip: {
autoPlay: false,
autoBuffering: true
}
});
Flowplayer有许多可以在初始化时设置的选项,包括onPause
和onPlay
之类的事件绑定。