Android 错误-类均衡器-方法getBand()和getBandFreqRange(短频带)

Android 错误-类均衡器-方法getBand()和getBandFreqRange(短频带),android,equalizer,Android,Equalizer,我不知道我能做些什么来解决这些问题。我是 实现MediaPlayer+均衡器应用程序。我的MediaPlayer工作正常, 然而,我的均衡器有问题:它的一些方法没有 工作 以下方法正常工作: getBandLevelRange(); getNumberOfBands() 以下方法不起作用。我得到错误消息:参数错误 价值 getBand(); getBandFreqRange();最后一个是注释的,但当它不起作用时也不起作用 在getBand()方法中,我已经尝试了几个参数值,如:50000、10

我不知道我能做些什么来解决这些问题。我是 实现MediaPlayer+均衡器应用程序。我的MediaPlayer工作正常, 然而,我的均衡器有问题:它的一些方法没有 工作

以下方法正常工作: getBandLevelRange(); getNumberOfBands()

以下方法不起作用。我得到错误消息:参数错误 价值 getBand(); getBandFreqRange();最后一个是注释的,但当它不起作用时也不起作用

在getBand()方法中,我已经尝试了几个参数值,如:50000、1000000。库AudioFx示例支持的频率

为什么这些方法不起作用???我原谅我设置了什么吗


tks.

e.printstacktrace并将结果发布在此处哦,还有,定义“不工作”?(你可能是独自一人在你自己的头脑中,很难猜出你的意思)@njzk2我认为错误是因为我在我的测试设备上使用了cyanogen mod。我将使用原始rom在其他设备上进行测试,并将结果发布在这里。TKSINTEGER.valueOf(50000)为什么使用?因为我只使用了short band=equalizer.getBand(50000)时出错,所以我尝试使用Integer.valueOf()。
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, 0);
        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);

            /******From here to down the methods don't work *****/

        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");
        }


    }

}