2012-01-23 67 views
0

我正在構建網站,現在我已經設置了更新網站上鍊接點擊時的flv路徑。但是當鏈接被點擊時,它會更新網址,但它不會播放。我只是得到一個白色的盒子。更新後不會播放流式播放器

這是我在主頁上使用的代碼。它立即開始緩衝和打第4個視頻(保存爲完整的URL路徑在JavaScript陣列)

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

我對你的代碼進行了一些小修改。

我使用onclick創建了一個javascript函數來更新播放器的URL,就像你做的那樣。 如果玩家還沒有開始玩(我將autoPlay設置爲false),並且我點擊了鏈接,那麼玩家將成功切換到我希望播放的新視頻。 但是,如果第一個視頻正在播放,那麼點擊後,播放器將被重新加載,但它仍然會播放第一個視頻。

雖然上面的方式肯定不會滿足您的要求,我相信另一種方式會有所幫助。 您可以直接調用player.play(url:videolist [f]),而不是調用片段本身的更新方法。通過這樣做,玩家將播放通過的任何視頻,而無需更新剪輯。

下面是我的代碼片段:

<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> 
+0

謝謝。我認爲這可能會做到。我會嘗試並讓你知道。 –