2010-12-14 15 views
11

मैं एचटीएमएल 5 ऑडियो में ध्वनि प्रभाव लागू कर रहा हूं लेकिन कुछ समय बाद, यह किसी भी ऑडियो को चलाने से रोकता है। फ़ाइल का प्रकार सही है क्योंकि यह ठीक शुरू होता है लेकिन फिर हार मानता है।एचटीएमएल 5 ऑडियो प्लेस यादृच्छिक रूप से

var sound = new Audio(url); 
function play() {   
    sound.play(); 
} 

क्या ऐसा करने का कोई बेहतर तरीका है जिससे यह लगातार ध्वनि बजाता है?

यहां मेरे कार्यान्वयन का एक लिंक है। स्पेसबार को तब तक दबाकर पुन: उत्पन्न करना आसान होता है जब तक कि यह अंततः हार न जाए (अतिरिक्त ध्वनियों के लिए रोशनी भी शूट करें)। http://craftyjs.com/elevatoraction/

यह Chrome का नवीनतम संस्करण में मेरे लिए होता है (8,0)

संपादित करें: मैंने किया था के रूप में गौरव का सुझाव दिया और केवल एक ध्वनि फ़ाइल का एक ही उदाहरण खेला है, लेकिन समस्याओं का एक ही तरह मौजूद हैं । यह मनमाने ढंग से खेलना बंद कर देगा।

संपादित करें 2: मैं सिर्फ देखा है कि जब भी मैं ध्वनि खेलने की कोशिश, networkState हमेशा 1 जो this के अनुसार इसका मतलब यह पूरी तरह से लोड नहीं हुआ है। यह अजीब लग रहा है क्योंकि यह कभी-कभी खेलता है और यहां तक ​​कि जब यह networkState चलाता है तब भी 1

+1

से संबंधित है आप क्या ब्राउज़र संस्करण (रों) और ऑपरेटिंग सिस्टम संस्करण (रों) आप पर समस्या reproduced किया है निर्दिष्ट करना चाहिए लगता है। –

उत्तर

6

प्रत्येक बार जब आप ध्वनि बजाना चाहते हैं, तो एक ही ऑडियो ऑब्जेक्ट न बनाएं, उसी संसाधन का पुन: उपयोग करें।

var sound1 = new Audio(url); 
function playSound1() { 
    sound1.play(); 
} 

मैं इस बग http://code.google.com/p/chromium/issues/detail?id=57070

+0

ओह तो यह एक बग है। हालांकि मैं एक ही समय में एक ही आवाज कैसे खेलूँगा? – Louis

+0

ठीक है तो आपको एकाधिक ऑडियो ऑब्जेक्ट्स का उपयोग करना होगा। और आपको उन्हें प्रबंधित करना होगा ताकि आप वास्तव में आवश्यक न्यूनतम संख्या बना सकें। बग ठीक होने तक, वैसे भी। – Gaurav

+0

अच्छा लगता है। क्या इसका मतलब है कि मुझे प्रत्येक फ़ाइल के बारे में 2 या 3 ऑडियो ऑब्जेक्ट्स बनाना है और जांचें कि कौन से लोग खेल रहे हैं। मुझे ईमानदार होने के लिए अच्छा दस्तावेज प्राप्त करना मुश्किल लगता है। – Louis

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