2

我有一个必须在MediaPlayer课堂上播放的媒体文件。

所以,首先我初始化一个 MediaPlayer 变量:

mediaPlayer = new MediaPlayer();
mediaPlayer = MediaPlayer.create(this, R.raw.queen);

然后我正在创建一个均衡器:

eq = new Equalizer(0, mediaPlayer.getAudioSessionId());
eq.setEnabled(true);

之后,在演奏过程中,我想移动搜索条来实时改变我的乐队水平。例如这样:

public void onStopTrackingTouch(SeekBar seekBar) {
    switch (seekBar.getId()){
    case R.id.eqBar1:
        eq.setBandLevel((short) 0, (short)(eq1Seek.getProgress() - minRange));
        break;

...等等所有乐队。应用程序正常工作,没有发生错误,但使用 Seek Bars 操作时没有效果。

那么,为什么它不起作用?如何在播放期间应用均衡器参数更改?

提前致谢!

在这部分代码中:

    case R.id.eqBar1:
        eq.setBandLevel((short) 0, (short)(eq1Seek.getProgress() - minRange));
        bndText.setText(String.valueOf(eq.hasControl()));
        bndText.setText(bndText.getText() + " " + String.valueOf(eq.setEnabled(true)));
        break;

hasControl()返回truesetEnabled返回0(成功),但似乎没有应用均衡器 - 移动时我没有听到任何区别seekbars(((

4

0 回答 0