Android - Equalizer usePreset not working (No change in sound effect) -
i working on streaming radio application. working fine except changing equalizer effect not affect sound.
changing equalizer effect calling usepreset(preset) not make changes in sound effects.
even though there no error, why usepreset not change sound effects.
i have tested in samsung galaxy sii 4.0.3.
public void startplayer() { // // check whether can acquire audio focus // start player // if (!requestaudiofocus()) { return; } if (null != maudioplayer) { if (maudioplayer.isplaying()) { maudioplayer.stop(); } maudioplayer.reset(); } else { maudioplayer = new mediaplayer(); maudioplayer.reset(); } try { notifyprogressupdate(player_initializing); try { mequalizer = new equalizer(0, maudioplayer.getaudiosessionid()); mequalizer.setenabled(true); log.d(tag, "audio session id " + maudioplayer.getaudiosessionid() + "equalizer " + mequalizer + " preset " + mequalizer.getcurrentpreset()); } catch (exception ex) { mequalizer = null; } maudioplayer.setaudiostreamtype(audiomanager.stream_music); maudioplayer.setdatasource(mcurrenttrack.getstreamurl()); // // add listener track player status // maudioplayer.setoncompletionlistener(this); maudioplayer.setonbufferingupdatelistener(this); maudioplayer.setonpreparedlistener(this); maudioplayer.setoninfolistener(this); maudioplayer.setonerrorlistener(this); notifyprogressupdate(player_buffering); maudioplayer.prepareasync(); } catch (illegalargumentexception e) { e.printstacktrace(); } catch (securityexception e) { e.printstacktrace(); } catch (illegalstateexception e) { e.printstacktrace(); } catch (ioexception e) { e.printstacktrace(); } } //get available presets equalizer public string[] getequalizerpresets() { string[] presets = null; short noofpresets = -1; if (null != mequalizer) { noofpresets = mequalizer.getnumberofpresets(); presets = new string[noofpresets]; (short index = 0; index < noofpresets; index++) { presets[index] = mequalizer.getpresetname(index); } } return presets; } //set user preferred presets public void setequalizerpreset(int position) { if (null != mequalizer) { log.d(tag, "setting equlizer effects " + position); log.d(tag, "equalizer " + mequalizer + " set preset " + position); mequalizer.usepreset((short)position); log.d(tag, "equalizer " + mequalizer + " current preset " + mequalizer.getcurrentpreset()); } }
appreciate identify issue.
edit issue not resolved yet. did not find sample code explain equalizer preset usage.
any reference code sample uses preset welcome.
Comments
Post a Comment