android.media.audiofx.Equalizer方法不';我不能实时工作
我有一个媒体文件,必须使用android.media.audiofx.Equalizer方法不';我不能实时工作,android,android-mediaplayer,Android,Android Mediaplayer,我有一个媒体文件,必须使用MediaPlayer类播放 首先,我初始化一个MediaPlayer变量: mediaPlayer = new MediaPlayer(); mediaPlayer = MediaPlayer.create(this, R.raw.queen); 然后我创建一个均衡器: eq = new Equalizer(0, mediaPlayer.getAudioSessionId()); eq.setEnabled(true); 之后,在演奏过程中,我想移动搜索栏来实时改
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;
。。。所有乐队都是如此。应用程序工作正常,未发生错误,但在使用搜索栏进行操作时没有效果
那么,为什么它不起作用呢?如何在播放过程中应用均衡器参数变化
提前谢谢
在本部分代码中:
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
(((你应该检查的返回值并使用,看看是否真的有控制权。卢卡斯,我在同一个开关块中有这样的构造:case R.id.playBar:mediaPlayer.seekTo(playSeek.getProgress());break;-它工作了!这使用了mediaPlayer,而不是均衡器…@lukaskknuth我从setEnabled()得到了-5的返回值)函数。这是什么意思?请注意,在我使用setBandLevel()函数之后。函数执行成功,但声音没有改变!!请帮助me@MalekTubaisaht你应该把这当作一个问题来问。我最初的评论现在已经有7年了,我不确定这些是否仍然适用于《现代》安德烈。