2012-11-28 11 views
20

विशेष रूप से, यदि ऑडियो के लिए 206 अनुरोध विफल रहता है और स्टॉप बफरिंग करता है, तो क्या उस राज्य का पता लगाने का कोई तरीका है? या मुझे यह जांचना होगा कि पिछली रकम के मुकाबले बफर की गई रकम की तुलना करके बफरिंग बंद हो गई है या नहीं?यह जांचने के लिए कि क्या HTML5 ऑडियो विभिन्न त्रुटियों तक पहुंच गया है

मैं यह भी कैसे जांच सकता हूं कि निर्दिष्ट स्रोत विफल रहता है, तो क्या आप इसे किसी अन्य स्रोत पर इंगित कर सकते हैं?

+0

क्या आप इस फाइल को लोड करने के लिए उपयोग कर रहे कोड (206 में से 3 या 4) –

उत्तर

30

1. विशेष रूप से, यदि ऑडियो के अनुरोधों में से कोई एक विफल रहता है और बफरिंग स्टॉप करता है, तो क्या उस राज्य का पता लगाने का कोई तरीका है?

हां, ऐसा करने के कुछ तरीके हैं! लेकिन तुम सूत्रों के त्रुटि घटना श्रोता संलग्न कर सकते हैं यदि आप त्रुटि प्रकार को पकड़ने के लिए चाहते हैं:

$('audio').addEventListener('error', function failed(e) { 
    // audio playback failed - show a message saying why 
    // to get the source of the audio element use $(this).src 
    switch (e.target.error.code) { 
    case e.target.error.MEDIA_ERR_ABORTED: 
     alert('You aborted the video playback.'); 
     break; 
    case e.target.error.MEDIA_ERR_NETWORK: 
     alert('A network error caused the audio download to fail.'); 
     break; 
    case e.target.error.MEDIA_ERR_DECODE: 
     alert('The audio playback was aborted due to a corruption problem or because the video used features your browser did not support.'); 
     break; 
    case e.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED: 
     alert('The video audio not be loaded, either because the server or network failed or because the format is not supported.'); 
     break; 
    default: 
     alert('An unknown error occurred.'); 
     break; 
    } 
}, true); 

2. आप तो यह एक अन्य स्रोत को इंगित कर सकता है?

त्रुटि हैंडलर समारोह अंदर

आप ऑडियो तत्व का src संपत्ति का उपयोग कर स्रोत बदल सकते हैं:

var audio = $(this); 
audio.src = "new-audio-file.mp3"; 
audio.load(); 

एक अन्य विकल्प इस सिंटैक्स का उपयोग एक ही ऑडियो टैग करने के लिए कई स्रोत को जोड़ने के लिए है:

<audio> 
    <source id="audio_player_ogv" src="test.ogv" type="audio/ogg" /> 
    //In case that you can't load the ogv file it will try to load test.mp3 
    <source id="audio_player_mp3" src="test.mp3" type="audio/mpeg" /> 
</audio> 

3. बारे में प्रबंधन एकाधिक ऑडियो फ़ाइलें

यदि आप 206 ऑडियो फाइलों को प्रबंधित करने के बारे में सोच रहे हैं तो मैं प्लगइन का उपयोग करने का सुझाव दूंगा। मैं थोड़ी देर के लिए SoundManager2 का उपयोग कर रहा हूं और यह बहुत अच्छा है!

+0

++ पर ध्वनि कॉलर 2 पर फ्लैश फ़ॉलबैक के कारण यह मोबाइल के साथ काम नहीं करेगा ... या कम से कम मैं नहीं करता ऐसा नहीं लगता, है ना? – infocyde

+1

@infocyde: नहीं, यह मोबाइल पर काम नहीं करेगा –

+0

@TomSarduy '$ ('ऑडियो')। AddEventListener' वह jQuery है? – LoneWOLFs

-2

मुझे लगता है कि आप यहां अपना उत्तर w3schools पृष्ठ के अंत में (मीडिया घटनाक्रम ब्लॉक)

शायद onerror या onstalled या onreadystatechange

3

पा सकते हैं वहाँ की घटनाओं की एक पूरी सूची में मीडिया तत्वों द्वारा नियंत्रित किया जाता है spec: https://html.spec.whatwg.org/multipage/embedded-content.html#media-elements

मैं विशेष रूप से स्थगित, निरस्त, प्रगति की घटनाओं पर विशेष रूप से देखता हूं।

चूंकि यह तत्व अपेक्षाकृत नया कार्यान्वयन काफी भिन्न हो सकता है। तो मैं उन घटनाओं का परीक्षण उन प्लेटफॉर्म के खिलाफ करूँगा जिन्हें आप लक्षित कर रहे हैं यह देखने के लिए कि क्या वे आपकी आवश्यकताओं के लिए अपेक्षित काम करते हैं। यदि आपको नहीं बताया गया है तो आपको बफर किए गए राज्य को मतदान करने जैसे कुछ और मैन्युअल करने की आवश्यकता हो सकती है।

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