微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检测 YouTube 嵌入的视频何时不再可播放?

如何解决检测 YouTube 嵌入的视频何时不再可播放?

有没有办法检测嵌入的 YouTube 视频由于内容限制或删除而没有加载/播放? (而不仅仅是用户互联网......等)

我在某个网站上嵌入了一些 YouTube 视频。每隔一段时间,由于作者删除内容或使其不再公开,或任何其他可能的原因,它们变得不可播放。

我们的目标是利用某种检测/触发器然后得到通知或采取一些措施来确保我的网站上没有嵌入一堆陈旧/损坏的视频。

我应该能够利用 API 轮询每个视频并检查其状态,但如果可能的话,我宁愿采用更被动的方法(或者可能两者结合,但想知道有哪些选项可用)。

解决方法

您可以使用嵌入代码 API。您可以检查视频的持续时间,如果为零,则视频无法加载。

https://developers.google.com/youtube/iframe_api_reference

      // with this modification
      function onPlayerReady(event) {
        if (player.getDuration() === 0) console.log("Failed to load video");
      }
,

我认为您可以使用 API 中的“onError”事件来了解 YouTube 视频是否无法加载。

function onYouTubeIframeAPIReady() {
  var player;
  player = new YT.Player('player',{
    width: 1280,height: 720,videoId: 'M7lc1UVf-VE',events: {
      'onReady': onPlayerReady,'onStateChange': onPlayerStateChange,'onError': onPlayerError
    }
  });
}

function onPlayerError(event) {
  // Handle error ere
}

或者,如果您使用其他 API 来获取视频详细信息,请查看他们的官方错误文档以找到适合您问题的错误代码。 https://developers.google.com/youtube/v3/docs/errors

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。