2011-11-11 106 views
1

當我嘗試加載某些視頻(如流行歌曲)時,API返回錯誤代碼150(請求的視頻不允許在嵌入式播放器中播放)。但是,如果我將視頻加載到iframe或embed標籤中,它就可以工作。Youtube Javascript API返回錯誤

這工作:

<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

+0

[Air App中的[youtube 150]錯誤]的可能重複(http://stackoverflow.com/questions/4197316/youtube-150-error-in-air-app) – Ray

回答

0

嵌入使用的iFrame API一些受保護的視頻時,我也有過類似的問題。視頻在Chrome上播放,但在使用Firefox和Safari進行瀏覽時導致錯誤150。

我發現的唯一解決方法是切換回依賴Flash嵌入的Javascript API。出於某種原因,現在所有視頻嵌入功能都適用於所有瀏覽器,自那時以來我沒有看到任何錯誤。

1

此錯誤代碼可追溯到2009+,如果您收到錯誤代碼150,則該視頻不適用於任何瀏覽器或任何播放器。

錯誤代碼150:視頻只能是在YouTube上播放廣告的播放器。