2012-11-10 7 views
7

Sto cercando di applicare le Effetti Basso di programmazione utilizzando il seguente codice:Come per applicare l'effetto dei bassi a livello di codice in Android

BassBoost bassBoost = new BassBoost(0, audioSessionId); 
bassBoost.setEnabled(true); 
BassBoost.Settings bassBoostSettingTemp = bassBoost.getProperties(); 
BassBoost.Settings bassBoostSetting = new BassBoost.Settings(bassBoostSettingTemp.toString()); 
bassBoostSetting.strength = MAX_STRENGTH_FOR_BASS; // 1000 
bassBoost.setProperties(bassBoostSetting); 

bassBoost.setStrength((short) progress); // progress value from seek bar 

Ma gli effetti dei bassi non vengono applicate sulla sessione audio corrente.
Per favore aiutami mostrandomi cosa c'è che non va.

+0

provare http://kyogs.blogspot.in/2012/09/android-audioeffect.html qui è possibile raggiungere tutti gli effetti, come si need.hop suo utile a voi. – kyogs

+0

@mojmaho: il link che hai fornito è il codice di esempio fornito da developer.android.com. Ecco il link: http://stuff.mit.edu/afs/sipb/project/android/docs/resources/samples/ApiDemos/src/com/example/android/apis/media/AudioFxDemo.html L'interrogante chiede informazioni l'implementazione di BassBoost. Hai qualche idea al riguardo? –

+0

prova a chiamare il metodo 'attachAuxEffect (bassBoost.getId())' dell'oggetto AudioTrack o Mediaplayer. E ricorda di chiamare anche il metodo 'setAuxEffectSendLevel (livello float)' altrimenti, anche se si allega l'effetto non funzionerà (il livello è 0.0 per impostazione predefinita) – Esses77

risposta

1

Verificare se è supportato o meno.

bassBoost = new BassBoost(0, 0); 
bassBoost.setEnabled(true); 

if (bassBoost.getStrengthSupported()) 
{ 
    short word1 = bassBoost.getRoundedStrength(); 
    bassBoost.setStrength(word1); 
} 

E si può anche verificare che tutto ciò che si sta testando su supporti esso (è dipendente dal dispositivo). È possibile utilizzare:

final Descriptor[] effects = AudioEffect.queryEffects(); 

// Determine available/supported effects 
for (final Descriptor effect : effects) { 
    Log.d(TAG, effect.name.toString() + ", type: " + effect.type.toString()); 
} 
Problemi correlati