29

Vimeo ビデオの再生が終了したら、イベントを発生させることができるかどうか疑問に思っていました。

現在、ビデオが停止したら削除したいオーバーレイに Vimeo が埋め込まれています。これが理にかなっていることを願っています!

実際に役立つコードはありませんが、ビデオにイベント リスナーを追加できるかどうか、ビデオが終了したらイベントを発生させることができるかどうか、どのようにこれを行うかを知りたいですか?

ありがとうライアン

4

3 に答える 3

39

Vimeo が新しいVideo Player APIを開始して以来、以前の回答は廃止されました。

重要: iframe の URL からを必ず削除してください。?api=1これは、以前は Froogaloop ライブラリを使用するときに必要でしたが、不要になりました。そのままにしておくと、「終了」、「シーク」などのイベントが発生しなくなります。

新しいスクリプトを含めます。

<script src="https://player.vimeo.com/api/player.js"></script>

次に、次の例を使用します。

$(document).ready(function(){

    var iframe = $('#container iframe');
    var player = new Vimeo.Player(iframe);

    player.on('ended', function() {
        console.log('Finished.');
    });

});
于 2017-01-08T11:53:16.087 に答える
9

まず、Vimeo の 'Frogaloop ライブラリへのパスを HTML に含める必要があります (Jquery インクルードの後):

<script src="https://f.vimeocdn.com/js/froogaloop2.min.js"></script>

次に、Vimeo ビデオを (再び HTML に) 埋め込む必要があります。

<iframe id="PLAYER1" src="https://player.vimeo.com/video/76979871?api=1&player_id=PLAYER1" width="630" height="354" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>

ここで 'api=1' は API をオンにします - これはパフォーマンスのためにデフォルトでオフになっています。そして、player_id='PLAYER1' は iframe の ID です。

次に、JavaScript ファイルに次のものが必要です。

$(function() {

    //Gets the iframe by id
    var iframe = $('#PLAYER1');
    //Creates a player var using the iframe
    var player = $f(iframe);

    // When the player is ready/loaded, add a finish event listener
    player.addEvent('ready', function() {
        //Adds an event 'finish' that executes a function 'onFinish' when the video has ended.
        player.addEvent('finish', onFinish);
    });

    //Define the onFinish function that will be called
    function onFinish(id) {
        console.log('THE VIDEO HAS FINISHED PLAYING');
    }

});

次に、ビデオを再生して、コンソールの出力を確認します。

ドキュメントの適切な部分へのリンクを次に示します。

API ドキュメントを教えてくれた @Raptor に感謝します。

于 2015-09-10T10:13:17.047 に答える
5

http://developer.vimeo.com/player/js-api

このページ、特にイベント リスナーの部分を確認してください。さらに助けが必要な場合は、コードを書くこともできると思いますか?

于 2013-01-31T12:12:41.310 に答える