2012-01-21 16 views
6

मैं निम्नलिखित वीडियो वर्डप्रेसजांच करें कि यूट्यूब वीडियो खेल रहे हैं और स्क्रिप्ट

<iframe id="video" width="640" height="360" src="http://www.youtube.com/embed/xxxxxx?enablejsapi=1" frameborder="0" allowfullscreen></iframe> 

भीतर embeded है और यह एक SlideDeck स्लाइडर है, जो मैं जब किसी वीडियो पर क्लिक बंद करना चाहते हैं अंदर चलाया जाता है। मैं कोड की इस पंक्ति को कैसे प्राप्त कर सकता हूं

self.pauseAutoPlay = true; 

वीडियो चलाते समय चलाने के लिए।

मुझे कुछ मदद की जरुरत है।

संपादित करें: जैसा कि मैं अंतिम उपयोगकर्ता नहीं हूं। मुझे ऐसा कुछ चाहिए जो YouTube से डिफ़ॉल्ट एम्बेड कोड के साथ काम करेगा।

उत्तर

21

आपको YouTube iFrame API का उपयोग करने की आवश्यकता है। ध्यान रखें, मुझे जावास्क्रिप्ट की केवल मूलभूत मूल बातें पता हैं और इसलिए यह संभवतः बहुत अधिक कुशल हो सकता है।

आप उन्हें के रूप में अपने iframe एम्बेड आप सामान्य

<iframe id="player" width="640" height="360" src="http://www.youtube.com/embed/TJ2X4dFhAC0?enablejsapi" frameborder="0" allowfullscreen></iframe> 

लेकिन एक जोड़े को बदलाव के साथ। इसे एक आईडी, 'प्लेयर' होना चाहिए, और आपको स्रोत यूआरआई के अंत में ?enablejsapi जोड़ने की आवश्यकता है।

तो आपको API जे एस के साथ ही मूल्य बना खिलाड़ी

// 2. This code loads the IFrame Player API code asynchronously. 
     var tag = document.createElement('script'); 
     tag.src = "http://www.youtube.com/player_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 onYouTubePlayerAPIReady() { 
    player = new YT.Player('player', { 
     height: '390', 
     width: '640', 
     videoId: 'u1zgFlCw8Aw', 
     events: { 
     'onReady': onPlayerReady, 
     'onStateChange': onPlayerStateChange 
     } 
    }); 
    } 

सूचना है कि new YT.Player('player' अपने iframe आईडी से मेल खाना चाहिए लोड करने के लिए निम्न स्क्रिप्ट चलाने की आवश्यकता होगी और उस videoId: 'u1zgFlCw8Aw' src यूआरआई मेल खाना चाहिए।

इस के बाद आप लेकिन जैसे

var myPlayerState; 
     function onPlayerStateChange(event) { 
     if (event.data == YT.PlayerState.PLAYING && !done) { 
      // DO THIS 
     } 
     myPlayerState = event.data; 
     } 

if (myPlayerState == 1){ 
    // PAUSE SLIDER 
} 
+0

के साथ कोई अनुभव नहीं है मेरे लिए काम नहीं करता है :( – nicogaldo

+4

@nicogaldo यह उत्तर इस बिंदु पर लगभग 4 साल पुराना है। आप थोड़ा और खोज करने की कोशिश कर सकते हैं। इस उत्तर को देखने का प्रयास कर सकते हैं http: // stackoverflow .com/एक/24040526/142410 –

8

आप एम्बेड यूट्यूब फ्लैश के साथ प्रत्यक्ष की जरूरत है:

http://code.google.com/apis/youtube/js_api_reference.html#Embedding

उसके बाद, आप यूट्यूब जावास्क्रिप्ट एपीआई का उपयोग कर सकते हैं।

<script type="text/javascript" src="swfobject.js"></script>  
<div id="ytapiplayer"> 
You need Flash player 8+ and JavaScript enabled to view this video. 
</div> 

<script type="text/javascript"> 

var params = { allowScriptAccess: "always" }; 
var atts = { id: "myytplayer" }; 
swfobject.embedSWF("http://www.youtube.com/v/VIDEO_ID?enablejsapi=1&playerapiid=ytplayer&version=3", 
        "ytapiplayer", "425", "356", "8", null, null, params, atts); 


var player; 

function onytplayerStateChange(newState) { 
    if (newState == 1) 
     callPlay(); 
    else if (newState == 2) 
     callPause(); 
} 

function callPlay() { 
    //video is play 
} 

function callPause() { 
    //video is paused 
} 

</script> 

पी.एस.:

आपका कोड ऐसा ही कुछ हो सकता है swfobject.js सूअर आप here

+0

सुझाव के लिए धन्यवाद स्क्रिप्ट को चलाने के लिए सक्षम हो जाएगा कि वर्डप्रेस वास्तव में अच्छा के साथ सहयोग करने प्रतीत नहीं होता। मैं ऐसे समाधान की भी उम्मीद कर रहा हूं जिसके लिए वर्कअराउंड की आवश्यकता नहीं है, क्योंकि मैं अंतिम उपयोगकर्ता नहीं हूं। मुझे ऐसा कुछ चाहिए जो YouTube से डिफ़ॉल्ट एम्बेड कोड के साथ काम करेगा। –

+0

आप कोशिश कर सकते हैं: [iframe API] (http://code.google.com/apis/youtube/iframe_api_reference.html#Events)। लेकिन मुझे – neworld

संबंधित मुद्दे