我试图通过AudioEffect::setParameter
设置AudioEffect
参数,但它会在Android Studio中产生编译错误。编译错误:在Android Studio中找不到符号AudioEffect :: setParameter
这里是我的代码:
import android.media.audiofx.Equalizer;
...
private Equalizer mEqualizer = null;
mEqualizer = new Equalizer(0, mMediaPlayer.getAudioSessionId());
mEqualizer.setParameter(0,0);
这个工作在我的旧的Eclipse项目;现在我使用的是新的AS项目,但它给出了一个错误:找不到符号法的setParameter(INT,INT)
我也AudioEffect对象试图调用setParameter()
:
import android.media.audiofx.AudioEffect;
AudioEffect effect = null;
effect = new AudioEffect(AudioEffect.EFFECT_TYPE_EQUALIZER,
AudioEffect.EFFECT_TYPE_NULL,
0,
0);
effect.setParameter(0,0);
然后得到同样的错误。
下面是Android SDK中的源代码:
Android的SDK \机器人-23 \机器人\媒体\ audiofx \ Equalizer.java:
public class Equalizer extends AudioEffect {
Android的SDK \机器人-23 \机器人\ media \ audiofx \ AudioEffect.java:
public class AudioEffect {
...
public int setParameter(int param, int value) throws IllegalStateException {
byte[] p = intToByteArray(param);
byte[] v = intToByteArray(value);
return setParameter(p, v);
}
有谁知道为什么我无法在Android Studio中调用此方法? (但它在Eclipse中有效)。
Android Studio版本2.1.2 使用Android SDK 23(也试过SDK 22和21,同样的错误)。
Android不使用Java 8的双冒号,所以我不确定为什么你在问题 –