Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev]

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();                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);            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 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 = 0
int 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 exception
Log.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.
 
 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário