【问题标题】:Vimeo player js API not working on mobile devicesVimeo 播放器 js API 在移动设备上不起作用
【发布时间】:2013-11-08 07:56:07
【问题描述】:

当用户点击网站上的特定按钮时,我正在使用 vimeo player js API 和 froogaloop 库来启动视频。

这是我嵌入视频的方式:

<iframe id="my_video" src="video_source?title=0&byline=0&portrait=0&color=fd735b&api=1&player_id=my_video" width="940" height="529" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>

这是我使用 js API 的方式:

var iframe = $('#my_video')[0];
var player = $f(iframe);

player.addEvent('ready', function() {

    $("#watch_video_wrapper").bind('click', function(){
    $("html, body").animate({ scrollTop: $('#video_page').offset().top }, 3500);
    player.api('play');
    });

});

所以当播放器准备好时,我将“点击”事件绑定到“观看视频”父容器。它适用于桌面。但是当我在 iPhone 3GS 或 iPad 模拟器上尝试时,视频无法启动。我还检查了网站上的 vimeo 示例:

Example 1 Example 2

它们也不适用于移动设备。

在移动设备上,只有在您使用播放器中的播放按钮手动启动视频后,此 API 才会起作用。但是如果你加载页面,不要手动启动视频并尝试使用 JS 播放 - 它将无法正常工作。

有人遇到过这个问题吗?还是我做错了什么?

【问题讨论】:

  • 我遇到了同样的问题。你有什么发现吗?
  • 不,我没有找到答案。我想写信给 vimeo 支持。

标签: vimeo vimeo-api vimeo-player


【解决方案1】:

我认为这不是 vimeo 问题 - 它与 IOS 和 Android 的政策有关,即在没有用户交互的情况下不播放视频。看到这个答案:On iPhone, Vimeo Javascript API .play() function doesn't work until the video has been played

【讨论】:

    【解决方案2】:

    如果您看这里,它有一个兼容性表。似乎不支持带有播放选项的移动设备。

    https://developer.vimeo.com/player/js-api#function-compatibility

    【讨论】:

    【解决方案3】:

    如果您拥有“Vimeo Plus”帐户,Vimeo 只会制作电影的“移动安全”版本。 因此,如果您没有 plus 帐户,视频将永远不会“准备就绪”(= 已加载)。

    【讨论】:

    • 感谢您的回答。但是我仍然不明白为什么当我从手机浏览 vimeo 播放器网站上的示例时它不起作用。在网站上,我看到视频“准备就绪”的状态,但播放按钮不起作用。 Here is the page I'm talking about
    猜你喜欢
    • 1970-01-01
    • 2021-06-02
    • 2020-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多