2

如何将嵌入的 Vimeo 视频重置为播放完成后的加载方式?

Vimeo API 提供了一个卸载方法

player.api("unload")

但它不适用于非 Flash 播放器。

4

3 回答 3

8

使用Vimeo API,您可以添加一个事件finish来触发重新加载。Vimeo API 包含一个方法unload(),但它在 HTML 播放器中不受支持。相反,请重置 iframe 中的 URL 以将视频恢复到其原始状态。

HTML

<iframe src="//player.vimeo.com/video/77984632?api=1" id="video"></iframe>

JS

var iframe = document.getElementById("video"),
    player = $f(iframe);

player.addEvent("ready", function() {        
    player.addEvent('finish', function() {
        player.element.src = player.element.src;
    });
});
于 2013-11-01T01:14:21.840 回答
4

unload()现在应该可以在所有玩家中正常工作。

于 2013-12-30T05:41:14.483 回答
0

Steve Robbins 解决方案的变体,具有 Vimeo 特定解决方案。您不必到达视频的结尾,但只要用户退出,包括单击按钮:

加载了 Vimeo 库的简单 Javascript 解决方案: https ://player.vimeo.com/api/player.js

function ResetVideo()
{ 
var Field  = "iframe-video";                   // <iframe id=iframe-video
var iframe = document.getElementById(Field);

var bLoad = LoadVimeoLib();                   // Is the Vimeo lib loaded
if(bLoad > 0)
  { 
  var Videoplayer   = new Vimeo.Player(iframe);
  Videoplayer.pause();                       // Pause the video and audio      
  Videoplayer.setCurrentTime(0);             // Reset the video position
    
  // Reset the video back to the iframe
  VideoSrc = Videoplayer.element.src;        // Save the video source
  Videoplayer.element.src = "";              // Empty the source
  Videoplayer.element.src = VideoSrc;        // Reset the video source
  }
}

function LoadVimeoLib()
{
if (typeof jQuery === 'undefined') 
 {
 alert('no jquery installed');
return 0;
}

var scriptlen = jQuery('script[src="https://player.vimeo.com/api/player.js"]').length;
if (scriptlen  == 0) 
  {
  jQuery.ajax({
    type: "GET",
    url: "https://player.vimeo.com/api/player.js",
    dataType: "script"
  });
  }

 return 1;
}

于 2022-01-24T03:52:05.250 回答