更新后,流动播放器将无法播放

时间:2012-01-23 06:10:33

标签: javascript flowplayer

我正在构建一个网站,现在我已经设置好了点击站点上的链接来更新flv路径。但是当点击链接时,它会更新网址,但不会播放。我刚拿到一个白色的盒子。

这是我在主页上使用的代码。它会立即开始缓冲并播放4个视频中的第一个(在javascript数组中存储为完整的url路径)

var player = flowplayer("container0",{
src: "/js/flowplayer-3.2.7.swf",
wmode: 'opaque',
debug: true
},{
clip:{
    autoPlay: true,
    scaling: "fit",
    bufferLength: 4,
    onUpdate: function(data) {
        this.unload();
        console.log(data);
        player.play();
    },
    url: videolist[0]
}});

然后,在我的网站中,有一些链接运行以下代码:

player.getClip(0).update({ url:videolist[f] });

其中“f”是视频网址的javascript数组的索引。

我知道更新正在进行,因为控制台日志会在更新发生时显示对象。但它仍然没有发生。我喜欢一些想法。

谢谢大家!

1 个答案:

答案 0 :(得分:1)

我对你的代码进行了一些小修改。

我使用onclick创建一个javascript函数来更新播放器的url。 如果播放器尚未开始播放(我将autoPlay设置为false),并且我点击了该链接,则播放器将成功切换到我想要播放的新视频。 但是如果第一个视频正在播放,那么在点击之后,播放器将被重新加载,但它仍将播放第一个视频。

虽然上述方式肯定不能满足您的要求,但我相信另一种方式会有所帮助。 您可以直接调用player.play(url:videolist [f]),而不是在剪辑本身上调用update方法。通过这样做,玩家将播放您传入的任何视频,而无需更新剪辑。

以下是我的代码段:

<html>    
<head><title>Video</title><script src="/flowplayer/flowplayer-3.2.6.min.js"></script></head>
<body>
<a id="player"></a>
<div>
    <a href="javascript:update()">Update</a>
</div>
<script type="text/javascript">
function update() {
    $f('player').play("SECONDVIDEO");
}
flowplayer("player", "/flowplayer/flowplayer.unlimited-3.2.8-dev.swf",
{
    clip: {
        autoPlay: true,
        url: "FIRSTVIDEO"
    }
}
</script>
</body>
</html>