【问题标题】:Youtube Javascript API returning errorsYoutube Javascript API 返回错误
【发布时间】:2011-11-11 01:53:49
【问题描述】:

当我尝试加载某些视频(例如流行歌曲)时,API 返回错误代码 150(请求的视频不允许在嵌入式播放器中播放)。但是,如果我将视频加载到 iframe 或嵌入标签中,它就可以工作。

这行得通:

<iframe width="560" height="315" src="http://www.youtube.com/embed/j5-yKhDd64s" frameborder="0" allowfullscreen></iframe>

这也有效:

<object width="560" height="315"><param name="movie" value="http://www.youtube.com/v/j5-yKhDd64s?version=3&amp;hl=en_GB"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/j5-yKhDd64s?version=3&amp;hl=en_GB" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>

这会提示 150 错误:

var defaultVideo = 'j5-yKhDd64s';
var player;

function onYouTubePlayerAPIReady() {
  player = new YT.Player('player-wrap', {
    height: '390',
    width: '640',
    videoId: defaultVideo,
    events: {
      'onError': onPlayerError
    }
  });
}
function onPlayerError(event) {
  alert('Error: '+event.data);
  player.stopVideo();
  player.loadVideoById('');
}

这是为什么?

这里是 API 的参考:http://code.google.com/apis/youtube/js_api_reference.html#Events

【问题讨论】:

标签: javascript youtube youtube-api


【解决方案1】:

此错误代码可追溯到 2009 年以上,如果您收到错误代码 150,则视频将无法在任何浏览器或任何播放器上播放。

错误代码 150:该视频只能在 youtube 上播放带有广告的播放器。

【讨论】:

    【解决方案2】:

    https://developers.google.com/youtube/js_api_reference#onError

    101 – 所请求视频的所有者不允许它在嵌入式播放器中播放。

    150 - 这个错误和101一样,只是变相的101错误!

    【讨论】:

      【解决方案3】:

      在使用 Iframe API 嵌入一些受保护的视频时,我遇到了类似的问题。视频在 Chrome 上播放,但在使用 Firefox 和 Safari 浏览时出现错误 150。

      我发现的唯一解决方法是切换回依赖 Flash 嵌入的 Javascript API。出于某种原因,所有视频嵌入现在都可以在每个浏览器上使用,从那时起我没有看到任何错误 150。

      【讨论】:

        猜你喜欢
        • 2021-06-09
        • 2019-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-07
        • 2015-05-31
        • 1970-01-01
        • 2017-03-30
        相关资源
        最近更新 更多