我試圖通過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的雙冒號,所以我不確定爲什麼你在問題 –