javascript/youtube api 检查播放限制的状态

标签 javascript youtube youtube-api youtube-javascript-api


javascript/youtube api 检查播放限制状态


问题是我从 gdata/youtube-api 嵌入,有时它会返回播放 不允许视频限制或嵌入。所以我在检查状态或其他东西 来处理这个。我尝试添加 &format=5。并尝试了 -1 事件。 没有运气。任何想法将不胜感激。 function onPlayerStateChange(event) { if(event.data == -1){//其余代码}} 提前致谢。

Edit3/此问题的解决方案:因为您已将 onError 设置为该函数中的函数 捕获事件并检查错误是解决此问题的方法。 function onPlayerError(event) {if(event.data === 150 || event.data === 101) {//在这里休息}}

编辑:添加更多代码。 编辑 2:错误代码匹配是答案 现在唯一的问题是我不 知道如何只捕获错误代码有什么想法吗?

<iframe id="player" type="text/html" width="560" height="50" src="'.$striphttp.'"></iframe>



  var tag = document.createElement('script');
  tag.src = "http://www.youtube.com/player_api";
  var firstScriptTag = document.getElementsByTagName('script')[0];
  firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

  var player;
  function onYouTubePlayerAPIReady() {
    player = new YT.Player('player', {
      playerVars: { 'autoplay': 1, 'controls': 1,'autohide':1,'wmode':'opaque' },
      //videoId: 'JW5meKfy3fY',
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange,
        'onError': onPlayerError
      }
    });
  }

  function onPlayerError(event) {
  window.location.href = "#";

  }


  function onPlayerReady(event) { 
    //event.target.mute();
  }

  function onPlayerStateChange(event) {
    if(event.data == 0) {
            window.location.href = "#";
            //location.reload();
    }

最佳答案

您可以在尝试嵌入和检查限制之前加载有关视频的 json 数据:

var xmlhttp = new XMLHttpRequest();
var url = 'http://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&q=TJC-subagTg';

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        var response = JSON.parse(xmlhttp.responseText);
        console.log(response.data.items[0].accessControl);
        console.log(response.data.items[0].restrictions);
    }
}
xmlhttp.open("GET", url, true);
xmlhttp.send();

http://embed.plnkr.co/P6LqDCdPgTH0HiU3SReR/preview

关于javascript/youtube api 检查播放限制的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26430394/

相关文章:

YouTube API - 未针对用户名查询返回 channel 品牌设置

JavaScript onClick : I have to click twice for modal to appear

javascript - Android 键盘更换网页 View

javascript - 使用 Gulp 如何先编译 Typescript 然后连接结果并对其进行 uglify?

android - 如何从WebView调用youtube应用播放视频?

c# - 未找到来自 google api 的 UserCredential 类

javascript - Laravel 混合和 AngularJs

youtube-dl格式选项API

javascript - 如何修复 "If playback doesn' t 很快开始,尝试在 iPad 上使用 Youtube iFrame API 重新启动您的设备?

html - 在播放另一个视频时暂停播放youtube视频?