2012-01-23 2 views
0

私はサイトを構築しており、サイトのリンクをクリックするとflvパスを更新するように設定しています。しかし、リンクをクリックすると、URLの更新が行われますが、再生されません。私はちょうど白い箱を得る。更新後にflowplayerが再生されない

ここに私がホームページで使用しているコードがあります。それはすぐに

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] 
}}); 

その後(javascript配列に完全なURLパスとして格納されている)4つの動画の最初のバッファリングを開始し、再生しない、私のサイトでは、次のコードを実行するいくつかのリンクがあります。

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

ここで、 "f"はビデオURLのjavascript配列のインデックスです。

更新が行われたときにコンソールログにオブジェクトが表示されるため、更新が行われていることがわかりました。しかしそれでも起こることはありません。私はいくつかのアイデアが大好きです。

ありがとうございました!

答えて

1

マイナーな変更を加えてコードを使いました。

javascript関数にonclickを付けてaを作成し、プレイヤーのURLを更新します。 プレイヤーが再生を開始していない場合(autoPlayをfalseに設定している場合)、リンクをクリックすると、再生したい新しいビデオにプレーヤーが正常に切り替わります。 最初の動画が再生されている場合は、クリック後、プレーヤーは再読み込みされますが、最初の動画は再生されます。

上記の方法は間違いなくあなたの要件を満たしませんが、別の方法が役立つと思います。 クリップ自体でupdateメソッドを呼び出す代わりに、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

ありがとう:

は、以下の私のコードスニペットです。私はちょうどそれをするかもしれないと思う。私はそれを試し、あなたに知らせるでしょう。 –

関連する問題