2012-02-23 21 views
6

में ध्वनियों खेलने के लिए कैसे:मैं निम्नलिखित है जावास्क्रिप्ट

<audio id="clickdown-wav" src="ClickDown.wav" preload="auto"></audio> 

और फिर मेरी जावास्क्रिप्ट में, मेरे पास है:

var ClickDown = $('#clickdown-wav')[0]; 

$(document).delegate('a','click',function() { 
    ClickDown.play(); 
}); 

समस्या यह है कि यह (एक iPad पर) भी तेज़ नहीं है क्योंकि मैं एंकर टैग दबाता हूं। जब मैं एंकर टैग दबाता हूं और WAV फ़ाइल नाटकों के बीच एक उल्लेखनीय अंतराल है।

प्रश्न: क्या जावास्क्रिप्ट से ध्वनि चलाने के लिए केवल एक स्रोत कोड समाधान है? Clickdown.wav केवल 1k है।

उत्तर

2

आईओएस पर, कोई प्रीलोडिंग नहीं है। यह ऐप्पल द्वारा उद्देश्य से किया गया था, ताकि उपयोगकर्ता को अनावश्यक बैंडविड्थ का उपयोग न करना पड़े।

+3

यह हमेशा है कुछ, है ना? –

+0

उपयोगकर्ता ईवेंट पर लोड() को ट्रिगर करने के लिए एक वर्कअराउंड होगा (क्लिक करें, स्क्रॉल करें, आदि)। –

+0

संभवतः, लेकिन @ cf_PhillipSenn का phrasing * हर * बाध्य 'एक क्लिक' ईवेंट को इंगित करता है, केवल पहले नहीं। – msanford

1

आप अपने वेब ऐप पर एक अदृश्य "बटन" डालने का प्रयास कर सकते हैं, जो पहले उपयोगकर्ता इंटरैक्शन के साथ क्लिक करता है। उस बातचीत के बाद sound.play(); काम करना चाहिए। इस thread पर देखें।

1

आप स्पर्श इवेंट का उपयोग करने की घटनाओं पर क्लिक करें की जरूरत नहीं है, आपके क्लिक करने के लिए "touchstart" स्विच और देरी गायब हो जाएगा

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