2012-11-23 14 views
19

मुझे अलग-अलग अवधि के साथ, 5 से 30 सेकंड की तरह कई ऑडियो फ़ाइलों को चलाने की आवश्यकता है। और मैं दाएं/बाएं चैनल के लिए स्वतंत्र रूप से वॉल्यूम सेट करना चाहता हूं और रीवरब या विरूपण जैसे प्रभावों को लागू करना चाहता हूं। तो, मुझे किस एपीआई का उपयोग करना चाहिए?ऑडियोट्रैक, साउंडपूल या मीडियाप्लेयर जिसका उपयोग मैं करना चाहिए?

इसके अलावा, मुझे ऑडियोट्रैक API पर बहुत अधिक दस्तावेज़ नहीं मिल रहा है। क्या आप जानते हैं कि मुझे उदाहरण कहां मिल सकते हैं? Thx।

उत्तर

2

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

मुझे लगता है कि SoundPool एकमात्र चीज है जो आपकी आवश्यकताओं के अनुरूप है।

संपादित करें: हाँ, आप एक SoundPool की जरूरत है, इस पढ़ें: http://www.wiseandroid.com/post/2010/07/13/Intro-to-the-three-Android-Audio-APIs.aspx

+0

ठीक है, धन्यवाद, मैं ध्वनिपूल के साथ प्रयास करूंगा। – Fede

+0

मीडियाप्लेयर दाएं/बाएं चैनलों के लिए अलग-अलग सेटिंग वॉल्यूम का समर्थन करता है। यह यहां एक अच्छा उदाहरण है: https: //www.codota.com/android/methods/android.media.MediaPlayer/setVolume प्लस आप यहां प्रलेखन का संदर्भ ले सकते हैं: https://developer.android.com/ संदर्भ/एंड्रॉयड/मीडिया/MediaPlayer.html # setVolume (नाव, नाव) –

39

ध्वनि पूल वास्तव में ऑडियो मिक्सर है। यह केवल छोटी क्लिप खेल सकता है चाहे वे अंडे या एमपी 3 के रूप में एन्कोड किए गए हों या वे असंपीड़ित हों। ध्वनि पूल हमेशा उन्हें असम्पीडित स्मृति में संग्रहीत करता है, और आपको पता होना चाहिए कि सीमा 1 एमबी है। यदि आपकी क्लिप मेमोरी में बहुत बड़ी है, तो ध्वनि पूल चुप हो जाएगा, और आपको निम्न त्रुटि मिल जाएगी: "ऑडियोफ्लिंगर ट्रैक नहीं बना सका। स्थिति: -12" मीडिया प्लेयर वास्तविक समय में स्ट्रीम चलाता है और इसे डीकोड करता है। तो यह बहुत अधिक क्लिप खेल सकता है लेकिन इसके लिए प्रोसेसर शक्ति की आवश्यकता है।

तो मीडिया प्लेयर पृष्ठभूमि संगीत के लिए बेहतर है, जबकि ध्वनि पूल बेहतर किला कम ऑडियो प्रभाव (क्लिक, विस्फोट, ध्वनि loops) है। इसके अलावा, ध्वनि पूल एक साथ अधिक क्लिप खेल सकता है, और मात्रा और गति नियंत्रण है। इसके अलावा यह लूप खेल सकते हैं।

एक नोट: यदि क्लिप पूरी तरह से लोड नहीं होता है और डीकोड नहीं किया जाता है तो आप ध्वनि पूल से संगीत नहीं चला सकते हैं। इसलिए आपको इसे जांचने के लिए ऑनलोड लोडलेटर (एंड्रॉइड 10 या ऊपर) का उपयोग करना होगा। यदि आप इसे डीकोड करने से पहले ध्वनि चलाने की कोशिश करते हैं, तो ध्वनि पूल म्यूट हो जाएगा।

मीडिया प्लेयर इन समस्याओं से ग्रस्त नहीं है।

4

अन्य उत्तरों के सुझाव के अलावा, मीडियाप्लेयर और साउंडपूल के बीच एक अंतर यह है कि मीडियाप्लेयर में, जब आप पहले से खेल रहे हैं तो आप एक ध्वनि क्लिप नहीं चला सकते (यह सुविधा विशेष रूप से गेम में सहायक हो सकती है)। MediaPlayer को फिर से खेला जा सकता है इससे पहले पूरी तरह खत्म करने के लिए क्लिप की जरूरत है। मुझे लगता है कि जानकारी आधिकारिक वेबसाइट में प्रदान की जाती है।

हालांकि, साउंडपूल में ऐसा कोई मुद्दा नहीं है और मैंने यह भी देखा है कि जब ध्वनि कहा जाता है तो ध्वनिपूल ऑडियो चलाता है (जब मैंने मीडियाप्लेयर का उपयोग किया था तो मुझे थोड़ी देर में देरी हुई)।

मुझे लगता है कि लोगों का कहना है कि ध्वनिपूल खेल की तरह छोटी आवाज़ों के लिए बेहतर है। उम्मीद है कि यह मदद करता है :)

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