2013-09-02 9 views
8

एक video जिसका स्रोत एक वेब कैमरा फ़ीड है एक NS_ERROR_NOT_AVAILABLE: Component is not available साथ फ़ायरफ़ॉक्स में असफल रहा है के साथ drawImage कॉल करना चाहते हैं नहीं है।फ़ायरफ़ॉक्स: drawImage देखें (वीडियो) NS_ERROR_NOT_AVAILABLE साथ विफल: घटक उपलब्ध

मैं हर घटना के लिए वीडियो टैग सक्रिय प्रतीक्षा करने के लिए प्रयास किया है: play, playing, canplay, loadeddata, loadedmetadata, और इतने पर, और कुछ भी नहीं काम करता है। ऐसा लगता है क्योंकि धाराओं को ठीक से <video> तत्व में लोड करने से पहले इन घटनाओं को फायरिंग कर रहे हैं।

JSFiddle with error (आप कंसोल में त्रुटि देख सकते हैं)

एक दुष्प्रभाव यह है कि चौड़ाई और वीडियो की ऊंचाई भी गलत है।

उत्तर

30

यह फ़ायरफ़ॉक्स में bug है। सबसे आसान फिक्स बस त्रुटि को दूर होने तक प्रयास करना जारी रखना है, क्योंकि कोई भी ईवेंट सही समय पर नहीं चला जाता है।

देखें: http://jsfiddle.net/9aT63/25/

मूल रूप से, आप एक आज़माएं/कैच ब्लॉक में drawImage कॉल रैप करने के लिए किया है।

function drawVideo() { 
    try { 
    $vidCanvasCtx.drawImage($vid, 0, 0, $vidCanvas.width, $vidCanvas.height); 
    ... 
    } catch (e) { 
    if (e.name == "NS_ERROR_NOT_AVAILABLE") { 
     // Wait a bit before trying again; you may wish to change the 
     // length of this delay. 
     setTimeout(drawVideo, 100); 
    } else { 
     throw e; 
    } 
    } 
} 
+0

+1 और :-) – K3N

+0

धन्यवाद स्वीकार किए जाते हैं के रूप में, दुर्भाग्य से मैं इससे पहले कि मैं यह कर सकते हैं कुछ और घंटे के लिए प्रतीक्षा करने –

+0

मेरे लिए एक इलाज काम किया, धन्यवाद आप अपना उत्तर को चिह्नित करना चाहिए। उम्मीद है कि वे जल्द ही बग ठीक करेंगे! –

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