2016-05-05 9 views
15

सेट नहीं कर सकता मैं क्रोम का उपयोग कर रहा हूं।एचटीएमएल ऑडियो वर्तमान समय

enter image description here

सब कुछ अंतिम पंक्ति को छोड़कर अपेक्षा के अनुरूप काम करता है: मेरी देव उपकरण कंसोल में, मैं निम्नलिखित की कोशिश की। मैं currentTime क्यों सेट नहीं कर सकता?

इसके अलावा, मुझे यह संपूर्ण HTML5 ऑडियो चीज़ बहुत विश्वसनीय नहीं है। क्या एक मजबूत जावास्क्रिप्ट रैपर है जो फ्लैश करने के लिए फ़ॉलबैक है?

+0

ऑडियो है एक 'loadedmetadata' घटना है कि आग जब src को लोड किया गया है – echopeak

+0

@echopeak क्या एक कामकाजी उदाहरण है जिसे मैं देख सकता हूं? मुझे 'तलाश' घटना में अधिक दिलचस्पी है क्योंकि मैं एक अलग प्रारंभ बिंदु से ऑडियो खेलना चाहता हूं। – Rajat

+0

क्या आप ऑडियो डाउनलोड करने के लिए एक लिंक प्रदान कर सकते हैं? – Chicodelarosa

उत्तर

4

आप कुछ इस तरह (आप jQuery का उपयोग करता है, तो)

$('#elem_audio').bind('canplay', function() { 
    this.currentTime = 10; 
}); 

या जावास्क्रिप्ट में क्या करने की जरूरत

var aud = document.getElementById("elem_audio"); 
aud.oncanplay = function() { 
    aud.currentTime = 10; 
}; 

इस स्थापना के लिए कारण के पीछे क्या आप वाकई ऑडियो है बनाने की जरूरत है है खेलने के लिए तैयार है।

+0

पुन: उत्पन्न नहीं कर सकता है इसके अलावा आप 'तलाश' ईवेंट का उपयोग कर सकते हैं। [यहां उदाहरण है] (https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events) पृष्ठ के अंत में। –

+0

इसलिए मैंने 'x.addEventListener ('seeked', function() {x.play()}) '' currentTime' को '10' को अपडेट करने से ठीक पहले' जोड़ने का प्रयास किया और परिणाम वही है। जब ऑडियो चलाता है, तो यह 0 से शुरू होता है – Rajat

+0

'कैप्ले' काम नहीं करता है। – Rajat

1

मेरा अनुमान है कि '10' लंबा है कि आप एमपी 3 की लंबाई।

लेकिन यह '0' के बजाय एमपी 3 की लंबाई को लॉग करता है।

आपका क्रोम संस्करण क्या है?

+0

संख्या 'x.duration' रिटर्न' 31'। क्रोम संस्करण 50 है – Rajat

2

मैं currentTime क्यों सेट नहीं कर सकता?

currentTime पुन: पेश नहीं किया जा सका 10 को सेट करने के बाद 0 करने के लिए सेट किया जा रहा। 18.mp3 अवधि 10 से कम है?

var request = new XMLHttpRequest(); 
request.open("GET", "/assets/audio/18.mp3", true); 
request.responseType = "blob";  
request.onload = function() { 
    if (this.status == 200) { 
    var audio = new Audio(URL.createObjectURL(this.response)); 
    audio.load(); 
    audio.currentTime = 10; 
    audio.play(); 
    } 
} 
request.send(); 

jsfiddle http://jsfiddle.net/Lg5L4qso/3/

-1

मैं एक ही समस्या थी, और कारण एमपी 3 फाइल पर हेडर याद आ रही थी, जैसे:

Content-Length, Content-Range, Content-Type

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