2012-11-01 17 views
20

YT.Player kodunu kullanmak istiyorum, böylece olayları tespit edebilirim. Youtube video kimliğine sahip bir CSV dosyası ve kimlikleri bir diziye ekleyen ve kullanıcı bir resmi tıkladığında kimliği dinamik olarak değiştirebilen bir işlev var. Esasen böyle:Youtube Player videosu dinamik olarak nasıl değiştirilir VideoID

html

<!-- 1. The <iframe> (and video player) will replace this <div> tag. --> 
<div id="player"></div> 

javascript

// 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. 
// NOTE: videoId is taken out and instead is placed as the generated IFRAME src from the postSelection function 

var player; 
function onYouTubeIframeAPIReady() { 
    player = new YT.Player('player', { 
     height: '100%', 
     width: '100%', 
     videoId: '<<CALL TO FUNCTION OR VARIABLE HERE>>', 
     events: { 
     //'onReady': onPlayerReady, 
     'onStateChange': onPlayerStateChange 
     } 
    }); 
} 

Eğer #player DIV bir IFRAME ile değiştirilir ne olur o zaman bu kodu aşina değilseniz.

function postSelection() { 
    $("#player").attr("src", _selected.attributes.url); //_selected.attributes.url comes from the CVS file 
} 

Ama bu çok hatalı olup çapraz tarayıcı dostu: Bu işlevi ile IFRAME kaynağı değiştirebilirsiniz. YT Player API'sini değil, standart bir IFRAME kullanırsam, her şey yolunda gider. Ama ben son bulmak ve duraklatmak istiyorum, böylece API kullanmak zorundayım. Benim tahminim, bunun bir devlet meselesi olması ve IFRAME'in yaratılmasında ısrarın kaybolmasıdır.

Saygılarımızla.

+1

adresindeki player.loadVideoById(videoId); Ayrıntılarını arayın [youtube API'sının belgelerini] (https://developers.google.com/youtube/iframe_api_reference) okudunuz mu? API çağrılarını yapmak için onYouTubeIframeAPIReady öğesinde aldığınız oyuncu değişkenini kullanabilirsiniz. – Philipp

cevap

İlgili konular