2012-09-22 23 views
5

Używam aplikacji Android Audio Effect/Equalizer API dla mojej aplikacji. Ogranicza się jednak do 5 pasm. Czy istnieje jakiś dokument/biblioteka, która pomaga dostroić więcej pasm dla lepszej implementacji korektora graficznego?Ograniczenia efektów dźwiękowych Androida do 5 pasm

+0

Nie możesz użyć więcej niż jednej instancji korektora, aby uzyskać więcej pasm? –

+1

Używam jednej instancji korektora dołączonej do [http://developer.android.com/reference/android/media/MediaPlayer.html#getAudioSessionId()](MediaPlayer's AudioSessionId) –

+0

@NilsPipenbrinck: Używanie więcej niż jednego wystąpienie equalizera zostanie przekształcone na tę samą kolejną częstotliwość 5-pasmową. W takim razie, jak można mieć różną częstotliwość? Czy masz jakiś inny pomysł? –

Odpowiedz

2

To zależy od urządzenia getNumberOfBands wam liczbę korektor efektu. Niektóre urządzenia mają 5,8 i 13 itd.

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

equalizer.setEnabled(true); 

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

także rzucić okiem na this

+0

Próbowałem tego na trzech różnych urządzeniach (Samsung, Huawei, Nexus). Wszyscy dają 5 pasm. Natomiast PowerAmp (Music Player) dostępny na playstore daje 10 pasm dla każdego urządzenia. Masz pojęcie, jak to robią? –

+0

Przetestowałem go na różnych urządzeniach i zwraca czasem 15 i czasami 5. I nie wiem, jak PowerAmp robi to dla 10 pasm – Nepster

0

Liczba pasm i ich środkowych częstotliwości zależy od słuchawki. Implementacja equalizera jest wypalana w pamięci ROM.

0

można spróbować konieczności spróbować z sasken-player, to reimplementacja korektora, który daje 10 pasm

1

To pytanie było zadawane dawno temu . Oto rozwiązanie dla osób szukających odpowiedzi w przyszłości. Znalazłem tę bibliotekę dla Androida, która zapewnia 10-pasmowy korektor.

Korzystanie Androida Korektor Api na trzech różnych urządzeń I był w stanie uzyskać następujący wynik:

1) Samsung Galaxy Note 3 (5 przedziały)

2) Huawei Mate 8 (5 zakresów)

3) Nexus 5 (5 pasm)

przy użyciu biblioteki this Mogę zdobyć 10 pasm na wszystkich powyższych urządzeniach. Przetestowałem to i działa świetnie.

Dołącz bibliotekę this do swojego projektu. Użyj poniższego kodu, aby mieć korektor z 10 pasmami.

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(); 

Ta biblioteka zawiera dokumentację, do której można się odnosić równie dobrze. Mam nadzieję że to pomoże.

Powiązane problemy