2013-03-17 7 views
13

मैं वीडियो के अंत में वीडियो के अंत में या स्वचालित रूप से वीडियो के बाद एक वीडियो चलाने का प्रयास करता हूं। इस कोड द्वारा:बटन 5 (...) द्वारा html5-video। Play एक फ़ंक्शन नहीं है

//automatically play 
$("#videoPlayer").bind('ended', function() { 
if(cnt <= 10 && bNum == 0) cnt++; 
$('#videoPlayer').attr('poster','./media/spot'+cnt+'.jpg').html('<source src="./media/spot'+cnt+'.mp4" type="video/mp4"><source src="./media/spot'+cnt+'.ogg" type="video/ogg"><source src="./media/spot'+cnt+'.webm" type="video/webm">'); 
$('#video-title').html('Spot '+cnt); 
if(cnt < 10) { 
    this.load(); 
    this.play(); 
    cnt++; 
} 
bNum = 1; 
if(cnt >= 10) $('.link1').remove(); 
}); 

//Play by the button 
$('.link1').on('click', function() { 
    if(cnt < 10 && bNum == 0) cnt++; 
    $(this).attr('rel', cnt).attr('title', 'Spot '+cnt); 
    $('#videoPlayer').attr('poster','./media/spot'+cnt+'.jpg').html('<source src="./media/spot'+cnt+'.mp4" type="video/mp4"><source src="./media/spot'+cnt+'.ogg" type="video/ogg"><source src="./media/spot'+cnt+'.webm" type="video/webm">'); 
    $('#video-title').html('Spot '+cnt); 
    if(cnt >= 10) $('.link1').remove(); 
    if(cnt <= 10) { 
    if($('#videoPlayer').load()) $('#videoPlayer').play(); 
    cnt++; 
    } 
}); 

एचटीएमएल हिस्सा है:

<video width="640" id="videoPlayer" autoplay preload="metadata" poster="./media/spot1.jpg"> 
<source src="./media/spot1.ogg" type="video/ogg"> 
<source src="./media/spot1.mp4" type="video/mp4"> 
<source src="./media/spot1.webm" type="video/webm"> 
Your browser does not support the video tag. 
</video></div> 
<ul> 
<li class="link1" rel="2">Nächster Spot </li> 
</ul> 
</div> 

स्वत: भाग एक त्रुटि के बिना अच्छी तरह से काम करता है। लेकिन बटन द्वारा भाग लाइन पर एक त्रुटि हो जाती है;

$('#videoPlayer').play(); 
संदेश

"$(...).play is not a function". 

मैं क्यों नहीं मिल सकता है के साथ

। (this.play() के लिए मैं भी स्वत: भाग में $('videoPlayer') लिख सकते हैं। यह एक ही है।)

+0

[JQuery का उपयोग कर चलाएं/रोकें एचटीएमएल 5 वीडियो] (http://stackoverflow.com/questions/4646998/play-pause-html-5-video-using-jquery) –

उत्तर

55

$('#videoPlayer') आप एक jQuery वस्तु देता है और jQuery वस्तु एक play विधि नहीं है। जिस प्ले विधि को आप ढूंढ रहे हैं वह jQuery ऑब्जेक्ट के अंदर देशी डोम तत्व में है। तत्व के अंदर पहुंच प्राप्त करने के लिए केवल सरणी सिंटैक्स या .get() का उपयोग करें। जैसे $('#videoPlayer')[0].play(); या $('#videoPlayer').get(0).play();

+1

के संभावित डुप्लिकेट यह है कि! ** बहुत बहुत धन्यवाद। ** मुझे इसके बारे में बहुत कुछ पता नहीं है। – Shenya

+0

बहुत अच्छा जवाब – Faisal

+0

अच्छा दुख! इस उत्तर के लिए धन्यवाद। –

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