2013-01-01 13 views
15

शीर्षक बहुत ज्यादा कहता है। मेरे पास एक वीडियो है जो पृष्ठ पर आने पर स्वचालित रूप से खेलना शुरू कर देता है।एचटीएमएल 5 वीडियो म्यूट किया गया लेकिन स्टिली

एचटीएमएल कोड में मैंने म्यूट = "म्यूट" रखा है। और यहां अजीब हिस्सा आता है। नियंत्रणों को देखते समय यह स्पष्ट रूप से म्यूट हो जाता है, लेकिन संगीत अभी भी खेल रहा है और सुना जा सकता है। यहां तक ​​कि जब मैंने डब्ल्यू 3 स्कूल्स पर एचटीएमएल 5 वीडियो उदाहरण देखा तो यह म्यूट करते समय संगीत बजाता है।

क्या कोई रास्ता है, उदाहरण के लिए trough jQuery इसे बाईपास करने के लिए? मेरे पास एक jQuery रेखा है जो वीडियो पर म्यूट कर रही है लेकिन इसका कोई प्रभाव नहीं है।

<video id="video" width="640px" height="350px" autoplay="autoplay" loop="loop" controls="controls" muted="muted"> 
      <source src="intouchables.f4v" type="video/mp4"> 
      Your browser does not support the video tag. 
     </video> 

आशा है कि आप मुझे बाहर करने में मदद कर सकते हैं:

यहाँ एचटीएमएल कोड है इस्तेमाल होता है। JQuery लाइन निम्नानुसार है:

$ ("वीडियो")। Prop ('muted', true);

अग्रिम धन्यवाद।

उत्तर

18

मुझे पूरी तरह से यकीन नहीं है कि विशेषता video टैग के भीतर परिभाषित होने पर क्यों खराब हो रही है। हालांकि, यह वही है जो आप कर सकते हैं:

सबसे पहले, वीडियो टैग से muted="muted" विशेषता हटा दें। इसे आसानी से रखें:

<video id="video" width="640px" height="350px" autoplay="autoplay" loop="loop" controls="controls"> 
    <source src="intouchables.f4v" type="video/mp4"> 
    Your browser does not support the video tag. 
</video> 

अब, पृष्ठ को लोड करने पर एक फ़ंक्शन को परिभाषित करें, वीडियो को म्यूट करता है।

window.onload = function() { 
    var element = document.getElementById('video'); 
    element.muted = "muted"; 
} 

मैंने इसे सत्यापित किया है, और यह काम करता है।

+0

आप मेरे हीरो हैं, मैं यह सत्यापित कर सकता हूं कि यह काम कर रहा है। मैं बग की रिपोर्ट करने की कोशिश करूंगा। बहुत धन्यवाद! –

+9

मैं 'element.muted = true; 'का उपयोग करने का सुझाव दूंगा क्योंकि यह वास्तव में एक बुलियन संपत्ति है - https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement –

3
<video preload= "true" autoplay = "autoplay" loop = "loop" muted> 
    <source src = "video/Real-Estate.mp4" type = "video/mp4"> 
</video> 
1

यानी jQuery के एचटीएमएल 5 के माध्यम से म्यूट करने के लिए सीधे बजाय, आप भी वीडियो टैग के भीतर volume="0" उपयोग कर सकते हैं,:

<video preload="true" autoplay="" volume="0" poster="img/example.jpg"> 
+2

कोशिश की गई' वॉल्यूम =" 0 " 'एफएफ 45 में और यह काम नहीं किया। –

3

लग रहा है इस मौन की तरह क्रोम 64 में काम कर रहे अभी भी 63 में काम करता है बंद कर दिया।

+0

मैं यह भी पुष्टि करता हूं कि 'म्यूट' वीडियो टैग क्रोम 64 में टूट गया है। वर्कअराउंड: ऐसा लगता है कि यह तब भी काम करता है जब वीडियो तत्व को उस पृष्ठ पर रखा जाता है जो पृष्ठ के प्रारंभिक लोड पर प्रस्तुत किया गया है। आप जावास्क्रिप्ट का उपयोग कर सीधे तत्व पर म्यूट भी लागू कर सकते हैं। देखें: https://stackoverflow.com/questions/48629652/chrome-64-update-muted-tag-no-longer-working-in-video/48651746#48651746 – Ariella

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