2012-09-22 5 views
5

Ich verwende Android Audio Effect/Equalizer API für meine App. Es beschränkt sich jedoch auf 5 Bänder. Gibt es ein Dokument/eine Bibliothek, das hilft, mehr Bänder für eine feinere Equalizer-Implementierung abzustimmen?Android Audio-Effekt-Grenzen auf 5 Bands

+0

Kannst du nicht einfach mehr als eine Instanz des Equalizers verwenden, um mehr Bänder zu erhalten? –

+1

Ich benutze eine Instanz des Equalizers, der auf [http://developer.android.com/reference/android/media/MediaPlayer.html#getAudioSessionId()](MediaPlayer's AudioSessionId) –

+0

@NilsPipenbrinck angebracht ist: Die Verwendung von mehr als einer Instanz des Equalizers wird in dieselbe 5-Band Frequenz umwandeln. Dann wie ist es möglich, alle Frequenzen unterschiedlich zu haben? Haben Sie eine andere Idee? –

Antwort

2

Es von Gerät zu Gerät variiert getNumberOfBands sagen Sie die Anzahl der Equalizer Effekt. Einige Geräte haben 5,8 und 13 usw.

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

equalizer.setEnabled(true); 

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

auch einen Blick auf this

+0

Ich habe dies auf drei verschiedenen Geräten (Samsung, Huawei, Nexus) versucht. Alle geben 5 Bands. Während PowerAmp (Music Player) im Playstore verfügbar ist, gibt es 10 Bänder für jedes Gerät. Irgendeine Idee, wie sie das machen? –

+0

Ich habe es auf verschiedenen Geräten getestet und manchmal 15 und irgendwann 5 zurückgegeben. Und ich weiß nicht, wie PowerAmp dies für 10 Bänder tut – Nepster

0

Die Anzahl der Bänder und deren Mittenfrequenzen sind abhängig vom Mobilteil. Die Entzerrerimplementierung wird in das ROM gebrannt.

0

Sie können versuchen, einen Versuch mit sasken-player hat, es ist eine Neuimplementierung des Equalizers, die Ihnen 10 Bands

1

Diese Frage gestellt wurde vor langer Zeit . Hier ist eine Lösung für Menschen, die in Zukunft eine Antwort suchen. Ich habe diese Bibliothek für Android, die 10-Band-Equalizer bietet gefunden.

Mit Android Equalizer Api auf drei verschiedenen Geräten konnte ich folgendes Ergebnis erhalten:

1) Samsung Galaxy Note 3 (5 Bands)

2) Huawei Mate-8 (5 Bands)

3) Nexus 5 (5 Bänder)

mit this Bibliothek Ich bin in der Lage, 10 Bänder auf allen oben genannten Geräten zu bekommen. Ich habe es getestet und es funktioniert super.

Enthalten Sie this Bibliothek in Ihrem Projekt. Und verwenden Sie den folgenden Code, um einen Equalizer mit 10 Bändern zu haben.

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

Diese Bibliothek enthält Dokumentationen, auf die Sie sich beziehen können. Hoffe das hilft.

Verwandte Themen