2009-04-04 10 views
5

मैं एक आईफोन गेम विकसित कर रहा हूं और वर्तमान में पृष्ठभूमि संगीत और ध्वनियों के लिए AVAudioPlayer का उपयोग कर रहा हूं। जो मैं पढ़ रहा हूं, उससे मुझे यकीन नहीं है कि यह सबसे अच्छा तरीका है, लेकिन अन्य विकल्प अत्यधिक जटिल लगते हैं।कोई भी अच्छा आईफोन ध्वनि प्रबंधक ढांचा?

क्या कोई अच्छा ओपन सोर्स फ्रेमवर्क है जो आईफोन पर काम करता है और मैं एकीकृत कर सकता हूं? मुझे केवल अलग-अलग गेम इवेंट्स के आधार पर वॉल्यूम को नियंत्रित करने और ध्वनि को ट्रिगर करने की आवश्यकता है।

स्पष्टीकरण: AVAudioPlayer एक ध्वनि खेलने के लिए मेरी ज़रूरतों को पूरा करता है, लेकिन मुझे एक रैपर वर्ग चाहिए जहां मैं कई ध्वनियां स्थापित कर सकता हूं और उन्हें कुछ कुंजी के आधार पर खेल सकता हूं।

उत्तर

3

यह आपके संदेश से स्पष्ट नहीं है कि AVAudioPlayer आपकी आवश्यकताओं को पूरा करता है या नहीं। एक तरफ आपने किसी भी कमियों का सामना नहीं किया है, लेकिन दूसरी ओर आप विकल्पों के लिए पूछते हैं कि कुछ हैं।

यदि AVAudioPlayer आपकी आवश्यकताओं को पूरा करता है, तो जीवन को मुश्किल क्यों बनाते हैं?

यदि AVAudioPlayer आपकी आवश्यकताओं को पूरा नहीं करता है, तो आपको यह बताने की ज़रूरत है कि किसी को कुछ भी करने से पहले आपको क्या चाहिए और अनुमान लगाएं कि आप क्या खोज रहे हैं।

+0

AVAudioPlayer मेरी ज़रूरतों को पूरा करता है, लेकिन यह केवल एक ध्वनि खेलने के लिए उपयोगी है। मुझे एक रैपर चाहिए जहां मैं कई आवाज़ें स्थापित कर सकता हूं, और उन्हें विभिन्न घटनाओं के आधार पर खेलना चाहता हूं। कोड स्वयं से पहले, मुझे आश्चर्य हुआ कि क्या कोई विकल्प था। – pgb

2

ऐप्पल अपने चाँद लैंडर नमूना कोड एप्लिकेशन में शामिल ध्वनि इंजन एक समय और सब कुछ में कई ध्वनियां खेलने की अनुमति देता है।

+0

यह नमूना कोड अब एसडीके 2.2 में शामिल नहीं है। क्या आपको पता है कि खींचने का कोई कारण क्यों है? – pgb

2

आप AVAudioPlayer का उपयोग कर सकते हैं। आपकी प्रत्येक आवाज उस वर्ग का एक अलग उदाहरण होगा। एक शब्दकोश या सरणी में सभी ध्वनियों (खिलाड़ियों) पर पकड़ो। फिर आप आसानी से सरणी को अनुक्रमणित करके या निर्देश से कुंजी प्राप्त करके प्रत्येक को आसानी से खेल सकते हैं। प्रत्येक ध्वनि में इसका स्वयं का वॉल्यूम हो सकता है, या आप सभी वॉल्यूम्स को जो भी स्तर पसंद करते हैं, उसे सेट करने के लिए सरणी या तीर को पुन: सक्रिय कर सकते हैं।

याद रखने के लिए अंक के जोड़े: 1. यदि आपको समय-समय पर ध्वनि बजाना है, तो फ़ाइल से लोड करने के बाद -prepareToplay विधि का उपयोग करें। 2. यदि आप ध्वनि रोकते हैं, तो -prepareToPlay पूर्ववत हो गया है। यदि आप ध्वनि को रोकते हैं, तो इससे पहले कि आप इसे फिर से खेलें, सुनिश्चित करें कि आप वर्तमान समय संपत्ति को 0 पर सेट करें ताकि ध्वनि शुरुआत से शुरू हो।

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