android.media.audiofx.Equalizer方法不能实时工作

时间:2013-02-28 12:39:23

标签: android android-mediaplayer

我有一个必须使用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(成功),但均衡器似乎未应用 - 移动时我听不到任何差异{{} 1}}((

0 个答案:

没有答案