1

在Flowplayer论坛上交叉发布,但那里还没有回应,所以我希望这里有人能提供帮助。

我使用播放列表插件完全没有成功。我已经密切关注http://flowplayer.org/plugins/javascript/playlist.html上的示例,并且我得到了初始剪辑,但播放列表插件似乎没有注册。视频加载并播放,因此 FlowPlayer 加载正确,但播放列表未将任何功能附加到我的播放列表对象。

我确认播放列表脚本正在加载:我添加alert("playlist!");到 顶部flowplayer.playlist-3.0.8.js,就在初始注释块之后和函数代码开始之前。当我加载我的网页时,我看到了警报。无论是使用脚本的缩小版本还是普通版本,以及是否使用flowplayer()or调用 flowplayer 函数,我都会得到相同的结果$f()。我正在使用flowplayer 3.2.3playlist 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>

知道我做错了什么吗?任何帮助表示赞赏,如果您需要更多详细信息,请告诉我。

谢谢!- 瓦尔

4

3 回答 3

0

$f("player", "/_library/script/flowplayer/flowplayer-3.2.3.swf").playlist("gallery");

也许?

.playlist()不是的函数$(function () {})

于 2010-08-25T17:26:03.593 回答
0
$(function () {})

load是您如何为事件注册事件处理程序。因此,其中的代码在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(){...})

于 2010-08-25T17:35:14.673 回答
0

好的,修好了。

许多示例使用播放列表容器上的类。在使用类的示例中,播放列表函数被传递一个 CSS 选择器——通常类似于playlist("div.gallery")

我将标记更改为使用类,将参数更改playlist()为完全限定的 CSS 选择器,它可以工作!!!

现在,我不想使用类——我有一个播放列表元素,所以我想使用一个 ID。我将标记改回 ID:

<div id="gallery">
    <a href="video1">video1</a>
    <a href="video2">video2</a>
</div>

并将调用者更改为对 ID 使用 CSS 选择器:

playlist("div#gallery");

这也有效!

最后,我想知道是否需要指定具有播放列表 ID 的元素,而我不需要——我可以只给它一个 CSS ID 选择器:

playlist("#gallery");

我认为我的问题是,使用主要的 flowplayer 脚本,您可以在没有.or#限定符的情况下处理占位符元素,例如$f("player"); 而不是$f("#player");. 但是播放列表插件比较挑剔,你必须使用限定符。

一个角色的所有痛苦!

于 2010-08-25T23:30:30.937 回答