Tinha uma parte dupliacada. Sem funcionar ainda.
public class MainActivity extends Activity { private MediaPlayer mediaPlayer; private Equalizer equalizer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mediaPlayer = new MediaPlayer(); try { mediaPlayer.setDataSource("/sdcard/titanium.mp3"); mediaPlayer.prepare(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } mediaPlayer.start(); equalizer = new Equalizer(0, mediaPlayer.getAudioSessionId()); equalizer.setEnabled(true); int minEQLevel = equalizer.getBandLevelRange()[0]; int maxEQLevel = equalizer.getBandLevelRange()[1]; Log.i("kkk", "Valor de minEQLevel" + minEQLevel); Log.i("kkk", "Valor de maxEQLevel" + maxEQLevel); short numberOfBand = equalizer.getNumberOfBands(); Log.i("kkk", "Número de bandas = "+numberOfBand); /******A partir daqui os métodos não funcionam *****/ try { short band = equalizer.getBand(Integer.valueOf(50000)); Log.i("kkk", "getBand() = "+band); short band = 0; //int menor = equalizer.getBandFreqRange(band)[0]; //int maior = equalizer.getBandFreqRange(band)[1]; //Log.i("kkk", "Menor = "+menor); //Log.i("kkk", "Maior = "+maior); } catch (IllegalArgumentException e) { Log.i("kkk", "Bad parameter value"); } catch (UnsupportedOperationException e) { Log.i("kkk", "get parameter() rejected"); } catch (IllegalStateException e) { Log.i("kkk", "get parameter() called in wrong state"); } } }Em 8 de março de 2013 12:36, Francis Mariano <francismariano@gmail.com> escreveu:
O media player está em outra classe. eu passo quando o fragment do equalizador é criado.Para facilitar eu escrevi outro código, mas continua os erros.public class MainActivity extends Activity { private MediaPlayer mediaPlayer; private Equalizer equalizer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mediaPlayer = new MediaPlayer(); try { mediaPlayer.setDataSource("/sdcard/titanium.mp3"); mediaPlayer.prepare(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } mediaPlayer.start(); equalizer = new Equalizer(0, mediaPlayer.getAudioSessionId()); equalizer.setEnabled(true); int minEQLevel = equalizer.getBandLevelRange()[0]; int maxEQLevel = equalizer.getBandLevelRange()[1];Log.i("kkk", "Valor de minEQLevel" + minEQLevel); Log.i("kkk", "Valor de maxEQLevel" + maxEQLevel); short numberOfBand = equalizer.getNumberOfBands(); Log.i("kkk", "Número de bandas = "+numberOfBand);/******A partir daqui os métodos não funcionam *****/ try { short band = equalizer.getBand(Integer.valueOf(50000)); Log.i("kkk", "getBand() = "+band); short band = 0; //int menor = equalizer.getBandFreqRange(band)[0]; //int maior = equalizer.getBandFreqRange(band)[1]; //Log.i("kkk", "Menor = "+menor); //Log.i("kkk", "Maior = "+maior); } catch (IllegalArgumentException e) { Log.i("kkk", "Bad parameter value"); } catch (UnsupportedOperationException e) { Log.i("kkk", "get parameter() rejected"); } catch (IllegalStateException e) { Log.i("kkk", "get parameter() called in wrong state"); } } }Está colorido porque eu também postei no stackoverflow. http://stackoverflow.com/questions/15295398/error-class-equalizer-methods-getband-and-getbandfreqrangeshort-bandEm 8 de março de 2013 11:28, Bruno Albuquerque <bruno.albuquerque@gmail.com> escreveu:
De onde você está obtendo o mediaPlayerSessionId que est;a usando na construção do Equalizer?Em 6 de março de 2013 19:07, Francis Mariano <francismariano@gmail.com> escreveu:
Eu não consigo nem utilizar o método getBandFreqRange(short band).já tentei tb o seguinte:short band = 0int aux[] = equalizer.getBandFreqRange(band);já dá falha aqui, não consigo nem obter o range de frequência de determinada banda. Deve ser alguma configuração (*besta*) que eu não estou conseguindo enxergar.Em 6 de março de 2013 18:56, Bruno Albuquerque <bruno.albuquerque@gmail.com> escreveu:
Qual o valor do indice i quando ela falha?Em 6 de março de 2013 15:38, Francis Mariano <francismariano@gmail.com> escreveu:
Bruno, estou tentando utilizar o método getBandFreqRange(short band) que me retorna a frequência minima e a máxima suportada pela banda passa como parâmetro.Por exemplo, eu consigo pegar o numero de bandas suportadas pelo meu dispositivo e consigo obter frequencia central da banda, só que não consigo utilizar o método getBandFreqRange(), dá o erro (bad argument value).
short numberOfBand = equalizer.getNumberOfBands();Log.i("kkk", "Número de bandas = "+numberOfBand);for (short i = 0; i < numberOfBand; i++) {Log.i("kkk", "Banda "+i+", "+equalizer.getCenterFreq(i));int menor = equalizer.getBandFreqRange(i)[0];int maior = equalizer.getBandFreqRange(i)[1];Log.i("kkk", "Menor freq Banda "+i+", "+menor);Log.i("kkk", "Maior freq Banda "+i+", "+maior);}Em 5 de março de 2013 14:27, Bruno Albuquerque <bruno.albuquerque@gmail.com> escreveu:
Use the source, Luke.De qualquer forma, IllegalArgumentException acontece quando o argumento passado é invalido. Eu nunca fiz nada com a APi audiofx mas suspeito que a frequência que você está passando está fora do range suportado (provavelmente pelo hardware do seu dispositivo).-Bruno--2013/3/5 Francis Mariano <francismariano@gmail.com>
Pessoal, boa tarde.Estou implementando um equalizador, mas não estou obtendo êxito.Eu quero usar o método getBand() para obter a banda q mais afeta as frequencias desejadas.As frequencias estão em milihertz, por isso getBand(50000) para uma freq de 50 Hz.Mas quando executo dá erro, informando : bad argument value.No código abaixo tb tentei usar o método getBandFreqRange(short band), pois me informaram que eu poderia estar passando um valor de frequencia fora dos limites do dispositivo. No método getBandFreqRange() informei a banda 0 para obter a menor e a maior freq suportada por ela, mas na execução tb dá erro (bad argument value).Alguém sabe o que pode ser???public void onCreate(Bundle state) {super.onCreate(state);setRetainInstance(true);equalizer = new Equalizer(0, mediaPlayerSessionId);//equalizer.setEnabled(true);}--public void setupEqualizer(){minEQLevel = equalizer.getBandLevelRange()[0];maxEQLevel = equalizer.getBandLevelRange()[1];Log.i("kkk", "Valor de minEQLevel" + minEQLevel);Log.i("kkk", "Valor de maxEQLevel" + maxEQLevel);short numberOfBand = equalizer.getNumberOfBands();Log.i("kkk", "Número de bandas = "+numberOfBand);short bandaZero = 0;int freqRange[] = equalizer.getBandFreqRange(bandaZero);Log.i("kkk", "Lower limit band 0 = "+freqRange[0]);Log.i("kkk", "Upper limit band 0 = "+freqRange[1]);//Log.i("kkk", "Lower limit band "+numberOfBand+" = "+equalizer.getBandFreqRange((short)(numberOfBand-1))[0]);//Log.i("kkk", "Upper limit band "+numberOfBand+" = "+equalizer.getBandFreqRange((short)(numberOfBand-1))[1]);try {band02 = equalizer.getBand(50000);} catch (IllegalArgumentException e) {// TODO: handle exceptionLog.i("kkk", "Não deu certo");}}
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.






0 comentários:
Postar um comentário