6

jw5からjw6に移行しようとしています。jw5では、プレーヤーのセットアップにイベントコールバックを含めました。例えば:

var myplayer = jwplayer('container').setup({
  flashplayer:  /my/player.swf',
  height: '100%',
  width: '100%', 
  events: {
    'onReady': function(event) {
       alert ("on ready");
    },
    'onPlay': function(event) {
       alert ("on play");
    },        
  }
});

jw5-to-jw6の移行ドキュメントによると、プレーヤーのセットアップにイベントコールバックを含めることができなくなったようです。

削除:イベント構成ブロックイベントリスナーを追加するこの方法は、機能と必要なコードの量の両方の点で、セットアップの外部にリスナーを追加することで完全に冗長です。

正しく理解していれば、イベントコールバックを次のように指定することになっています。

myplayer.onReady( function(event){
  alert('on ready');
});
myplayer.onPlay( function(event){
  alert('on play');
});

私の質問:

これらのmyplayerイベントコールバックを定義する前に、myplayerオブジェクトの準備ができるまで待つ必要があるように思われます。本当ですか?セットアップ内でonReadyイベントコールバックを指定できない場合、myplayerの準備ができたことをどのように知ることができますか?

4

2 に答える 2

10

JWPlayer6ではonReady、他のハンドラーを追加するのと同じ方法でイベントハンドラーを追加できます。これは私のために働きます:

var playerInstance = jwplayer("myElement").setup({
    file: "test.mp4"
});

playerInstance.onReady(function() {
    console.log('ready');

    playerInstance.onPlay(function() {
        console.log('playing');
    });

    playerInstance.play();
});
于 2012-12-19T21:47:26.527 に答える
0

最初の問題は、最後のコードブロックにタイプミスがあることです:それはmyplayer.onReady();-)である必要があります

さらに、イベントハンドラーは、処理が進むとすぐに対応するオブジェクトに接続されます。

onReadyしたがって、jwplayerのセットアップとonPlayイベントをに単純に配置する必要があると思います$(document).ready()

これは期待どおりに機能するはずです。

于 2012-12-19T21:45:48.010 に答える