La API IFrame de Youtube se activa con el código de error 150 para los videos de Vevo
Déjame explicarte mi escenario. Quiero usarAPI IFrame de Youtube Para insertar algunos videos en mi sitio web. He probado el video con idwdGZBRAwW74 (https://www.youtube.com/watch?v=wdGZBRAwW74) en esta página:Youtube IFrame Player Demo. Y funciona bien.
Intento este código de ejemplo:
<!DOCTYPE html>
<html>
<body>
<!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
<div id="player"></div>
<script>
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'wdGZBRAwW74',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onError': onPlayerError
}
});
}
// 4. The API will call this function when the video player is ready.
function onPlayerReady(event) {
event.target.playVideo();
}
// 5. The API calls this function when the player's state changes.
// The function indicates that when playing a video (state=1),
// the player should play for six seconds and then stop.
var done = false;
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
setTimeout(stopVideo, 6000);
done = true;
}
}
function onPlayerError(event){
console.log(event.data);
}
function stopVideo() {
player.stopVideo();
}
</script>
</body>
</html>
con algunos dominios de host virtual en mi localhost y obtuve el resultado:
con dominioapp.centaur.com/youtube/index.htm: API IFrame funciona bien, el video se reproduce sin problemas.con dominioapp.music.com/youtube/index.html: IFrame API funciona bien, pero el video no se puede reproducir, la API se ejecuta en Error con el error 150 y el mensaje del programa del reproductor integrado "Este video contiene contenido de VEVO, quien lo ha bloqueado para que no se muestre en este sitio web. Mira en Youtube"con dominioapp.musiccentaur.com/youtube/index.htm: como el primer caso, todo funciona biencon dominioapp.centaurmusic.com/ youtube /: como primer caso, todo funciona bienComo sé, el error 150 significa "El propietario del video solicitado no permite que se reproduzca en reproductores integrados". Pero veo que todavía funciona en el caso 1, 3, 4, entonces, ¿qué significa?
Parecen todos los videos de Vevo relacionados con estos problemas. No estoy seguro de si Vevo definió alguna política para insertar sus videos.
Tal vez el problema venga de mi dominio.music.com, pero no estoy seguro de que haya algunas reglas de dominio para incrustar el video de Vevo en los sitios web.
¿Qué pasa si compro un dominio para mi sitio web? Entonces obtengo el error 150, esto es muy malo. :(
¿Hay alguien que se ocupe de esto antes? Por favor, dame algunas soluciones. Gracias por adelantado.
Nota: este error solo ocurre en los videos de Vevo.