2012-09-22 12 views
5

तक सीमित है मैं अपने ऐप के लिए एंड्रॉइड Audio Effect/Equalizer API का उपयोग करता हूं। हालांकि, यह 5 बैंड तक सीमित है। क्या कोई दस्तावेज़/लाइब्रेरी है जो एक बेहतर तुल्यकारक कार्यान्वयन के लिए अधिक बैंड ट्यून करने में मदद करता है?एंड्रॉइड ऑडियो प्रभाव 5 बैंड

+0

क्या आप अधिक बैंड प्राप्त करने के लिए तुल्यकारक के एक से अधिक उदाहरण का उपयोग नहीं कर सकते? –

+1

मैं [http://developer.android.com/reference/android/media/MediaPlayer.html#getAudioSessionId()] (मीडिया प्लेयर के ऑडियो सत्र आईडी) से जुड़े तुल्यकारक के एक उदाहरण का उपयोग करता हूं –

+0

@NilsPipenbrinck: एक से अधिक का उपयोग करें तुल्यकारक का उदाहरण एक और 5 बैंड आवृत्ति में परिवर्तित हो जाएगा। फिर सभी आवृत्ति अलग कैसे हो सकती है? क्या कोई अन्य विचार है? –

उत्तर

2

यह डिवाइस getNumberOfBands करने के लिए डिवाइस से भिन्न होता है आप तुल्यकारक प्रभाव की संख्या बताओ। कुछ उपकरणों में 5,8 और 13, आदि हैं।

Equalizer equalizer = new Equalizer(0,mediaplayer.getAudioSessionId()); 

equalizer.setEnabled(true); 

equalizer.getNumberOfBands(); //it tells you the number of equalizer in device. 

इसके अलावा this

+0

मैंने इसे तीन अलग-अलग उपकरणों (सैमसंग, हुआवेई, नेक्सस) पर करने की कोशिश की। सभी 5 बैंड देते हैं। जबकि प्लेस्टोर पर उपलब्ध PowerAmp (संगीत प्लेयर) प्रत्येक डिवाइस के लिए 10 बैंड देता है। कोई विचार है कि वे यह कैसे कर रहे हैं? –

+0

मैंने इसे विभिन्न उपकरणों पर परीक्षण किया है और कभी-कभी 15 और कभी-कभी 5 लौटाता है और मुझे नहीं पता कि PowerAmp 10 बैंड के लिए यह कैसे करता है – Nepster

0

बैंड और उनकी केंद्र आवृत्तियों की संख्या हैंडसेट पर निर्भर हैं। तुल्यकारक कार्यान्वयन रोम में बेक किया गया है।

0

पर एक नज़र आप sasken-player साथ एक कोशिश होने की कोशिश कर सकते है, यह बराबरी का एक reimplementation है कि आप 10 बैंड

1

यह सवाल दे देंगे बहुत पहले कहा गया था है । भविष्य में उत्तर मांगने वाले लोगों के लिए यहां एक समाधान है। मुझे एंड्रॉइड के लिए यह लाइब्रेरी मिली है जो 10 बैंड इक्वाइज़र प्रदान करती है।

तीन अलग-अलग उपकरणों मैं निम्नलिखित परिणाम प्राप्त करने में सक्षम था पर Android के तुल्यकारक एपीआई का उपयोग कर:

1) Samsung Galaxy Note 3 (5 बैंड)

2) Huawei मेट 8 (5 बैंड)

3) नेक्सस 5 (5 बैंड)

this लाइब्रेरी का उपयोग करके मैं उपरोक्त सभी उपकरणों पर 10 बैंड प्राप्त करने में सक्षम हूं। मैंने इसका परीक्षण किया है और यह बहुत अच्छा काम कर रहा है।

अपनी परियोजना में this लाइब्रेरी शामिल करें। और 10 बैंड के साथ एक तुल्यकारक रखने के लिए निम्न कोड का उपयोग करें।

IMediaPlayerFactory mediaPlayerFactory = new OpenSLMediaPlayerFactory(getApplicationContext()); 
IBasicMediaPlayer mediaPlayer = mediaPlayerFactory.createMediaPlayer(); 
IEqualizer equalizer = mediaPlayerFactory.createHQEqualizer(); 
/* This returns 10 bands exactly like Poweramp music app does */ 
int numOfBands = equalizer.getNumberOfBands(); 

इस पुस्तकालय में दस्तावेज़ीकरण है जिसे आप अच्छी तरह से संदर्भित कर सकते हैं। उम्मीद है की यह मदद करेगा।

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