gpt4 book ai didi

android - Equalizer.usePreset 抛出 Invalid argument 异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:02:25 25 4
gpt4 key购买 nike

我正在创建带有 EQ 的 mediaPlayer,当我设置 EQ 频段时它工作正常。我有列出所有预设的代码,在更改时我想将预设设置为 EQ,但我得到了错误的参数值

这是我在日志中的内容:

09-29 14:29:24.810: W/System.err(27829): java.lang.IllegalArgumentException: AudioEffect: bad parameter value
09-29 14:29:24.835: W/System.err(27829): at android.media.audiofx.AudioEffect.checkStatus(AudioEffect.java:1259)
09-29 14:29:24.835: W/System.err(27829): at android.media.audiofx.Equalizer.usePreset(Equalizer.java:342)

getNumberOfPresets() 返回 12并为此示例设置的预设为 2(但它发生在所有值 0-11 上)

如果我在 usePreset() 之前使用 setBandLevel() 它不会引发异常,但我不确定这是否是正确的方法。编辑:setBandLevel 与异常无关。它只是随机弹出,80% 的尝试。

更新:我注意到这仅发生在 Samsung S3 设备上(目前)。在华硕 TF101 上运行良好。

感谢任何帮助。

代码如下:

mEqualizer = new Equalizer(0, mMediaPlayer.getAudioSessionId());
mEqualizer.setEnabled(true);
mEqualizer.usePreset((short)mEQPresetPos);

最佳答案

可能有两个原因。

您的设备可能不支持均衡器。但是正如您所说,您会得到一个预设列表。表示支持。

现在的问题可能是您有两个均衡器实例。您必须释放均衡器。

或者试试

添加均衡器.setEnabled(false);

在创建另一个之前。

关于android - Equalizer.usePreset 抛出 Invalid argument 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19078116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com