首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译错误:无法在Android中找到符号AudioEffect::setParameter

编译错误:无法在Android中找到符号AudioEffect::setParameter
EN

Stack Overflow用户
提问于 2016-06-14 04:28:47
回答 1查看 712关注 0票数 0

我试图通过AudioEffect设置AudioEffect::setParameter参数,但是在Android中会出现编译错误。

这是我的代码:

代码语言:javascript
复制
import android.media.audiofx.Equalizer;
...
private Equalizer mEqualizer = null;
mEqualizer = new Equalizer(0,  mMediaPlayer.getAudioSessionId());
mEqualizer.setParameter(0,0);

这在我以前的Eclipse项目中有效;现在我正在使用一个新的AS项目,但是它给出了一个错误:无法找到符号方法setParameter(int,int)

我还尝试通过setParameter()对象调用AudioEffect:

代码语言:javascript
复制
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的源代码:

android-sdk\android-23\android\media\audiofx\Equalizer.java:

代码语言:javascript
复制
public class Equalizer extends AudioEffect {

android-sdk\android-23\android\media\audiofx\AudioEffect.java:

代码语言:javascript
复制
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中调用这个方法吗?(但它在Eclipse中工作)。

Android版本2.1.2使用Android 23 (也尝试了SDK 22和21,同样的错误)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-14 04:46:01

根据文档,类AudioEffect中没有方法setParameters,我在那里也看不到EFFECT_TYPE_NULL类型。我也签了我的sdk。你一定是在使用过时的代码。请将其重构为最新的SDK。AudioManager有一个方法setParamters(字符串keyValuePairs)。这对你有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37803013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档