我有一个必须在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
(成功),但似乎没有应用均衡器 - 移动时我没有听到任何区别seekbars
(((