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