在Flowplayer forums上交叉发布,但尚未回复,所以我希望有人可以提供帮助。
我使用播放列表插件完全没有成功。我已经密切关注http://flowplayer.org/plugins/javascript/playlist.html处的示例,我得到了初始剪辑,但播放列表插件似乎没有注册。视频加载和播放,因此FlowPlayer正确加载,但播放列表不会将任何功能附加到我的播放列表对象。
我确认播放列表脚本正在加载:我在alert("playlist!");
的顶部添加了flowplayer.playlist-3.0.8.js
,就在初始注释块之后和功能代码开始之前。当我加载我的网页时,我看到了警报。无论是使用缩小版还是普通版的脚本,我都会得到相同的结果,以及我是否使用flowplayer()
或$f()
来调用流程图功能。我正在使用 flowplayer 3.2.3
和 playlist 3.0.8
。
这是一个简单的静态页面,试图在图库中呈现FlowPlayer和两个剪辑:FlowPlayer出现,但点击任一图库链接会替换当前页面,直接在浏览器窗口中播放视频,而不是让我保持在HTML页面上并在FlowPlayer实例中播放视频。
如果我向FlowPlayer调用添加一个配置参数并提供一个默认剪辑,那么该剪辑会播放,但画廊链接再次将我带到原始剪辑,而不是将剪辑推入FlowPlayer。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test flowplayer</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>
<script src="/_library/script/flowplayer/flowplayer-3.2.3.min.js" type="text/javascript"></script>
<script src="/_library/script/flowplayer/flowplayer.playlist-3.0.8.min.js" type="text/javascript"></script>
</head>
<body>
<div id="player" style="display: block; width: 776px; height: 432px;"></div>
<div id="gallery">
<a href="/resources/video/Empowerment_TV30_776.mp4">video 1</a>
<a href="/resources/video/Commercial_776.mp4">video 2</a>
</div>
<script type="text/javascript">
$(function () {
$f("player", "/_library/script/flowplayer/flowplayer-3.2.3.swf")
.playlist("gallery");
});
</script>
</body>
</html>
知道我做错了什么吗?任何帮助表示感谢,如果您需要更多详细信息,请与我们联系。
谢谢! - 瓦尔
答案 0 :(得分:0)
$f("player", "/_library/script/flowplayer/flowplayer-3.2.3.swf").playlist("gallery");
可能?
.playlist()
不是$(function () {})
答案 1 :(得分:0)
$(function () {})
您是如何为load
event注册事件处理程序的。因此,在浏览器触发load
事件之前,其中的代码不会执行,并且插件可能尚未可用。
另外,您没有密切关注这些教程。有的代码是这样的
$(function() {
// setup player without "internal" playlists
$f("player2", "http://releases.flowplayer.org/swf/flowplayer-3.2.3.swf", {
clip: {baseUrl: 'http://blip.tv/file/get'}
// use playlist plugin. again loop is true
}).playlist("div.petrol", {loop:true});
});
请注意,在.playlist
返回时会调用$f()
,而不是$(function(){...})
。
答案 2 :(得分:0)
好的,修好了。
许多示例都在播放列表容器中使用了一个类。在使用类的示例中,播放列表函数被传递给CSS选择器 - 通常类似于playlist("div.gallery")
我更改了我的标记以使用类,将参数更改为playlist()
到完全限定的CSS选择器,它可以工作!!!
现在,我不想使用类 - 我有一个播放列表元素,所以我想使用一个ID。我将标记更改回ID:
<div id="gallery">
<a href="video1">video1</a>
<a href="video2">video2</a>
</div>
并更改了调用者以使用ID选择器:
playlist("div#gallery");
这也有效!
最后,我想知道是否需要指定具有播放列表ID的元素,而我不这样做 - 我只能给它一个CSS ID选择器:
playlist("#gallery");
我认为我的问题是,使用主要的流程图脚本,您可以在不使用.
或#
限定符的情况下处理占位符元素,例如$f("player")
;而不是$f("#player");
。但播放列表插件更挑剔,你必须使用限定符。
单个角色的所有痛苦!