首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果默认是5波段,如何在Android播放器上制作10波段均衡器?

如果默认是5波段,如何在Android播放器上制作10波段均衡器?
EN

Stack Overflow用户
提问于 2015-10-28 13:41:59
回答 1查看 2.1K关注 0票数 4

我正在尝试做一个android播放器,在做均衡器时出现了一个问题。有均衡器频带的限制,例如Nexus 5默认有5频带均衡器。一些玩家(如Poweramp)设法获得了10波段均衡器,甚至在手机上有5,6或13波段,例如在默认情况下。

我使用均衡器类将其附加到MediaPlayer,通常我理解它是如何工作的,但是如何在默认情况下只有5个频段的手机上制作10个波段呢?

因此,我的问题是,这是如何可能的,有些玩家如何设法在所有手机上获得10波段均衡器,而不管他们的系统/硬件的限制?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-28 14:48:47

就像你说的,频率取决于设备上的硬件。我用我的Nexus 5进行了测试,它有5个带,其值如下:

  • 乐队1: 30k-120 k
  • 第2波段:120 k-460 K
  • 第3波段:460 k-1.800k
  • 4级: 1.800-7.000k
  • 乐队5: 7.800k-1

您可以使用以下代码获得带数和预置数:

代码语言:javascript
复制
short numberOfBands = equalizer.getNumberOfBands();
short numberOfPresets = equalizer.getNumberOfPresets();

使用此代码可以获得频带的频率范围:

代码语言:javascript
复制
final short minLevel = equalizer.getBandLevelRange()[0]; // get min range
final short maxLevel = equalizer.getBandLevelRange()[1]; // get max range

为了显示弯曲,你就这样做:

代码语言:javascript
复制
for(short i = 0; i < numberOfBands; i++){
     SeekBar seekBar = ...
     mTextViewMin.setText(minLevel + "");
     mTextViewMax.setText(maxLevel + "");   
}

初始化均衡器:

代码语言:javascript
复制
Equalizer equalizer = new Equalizer(0, mediaplayer.getAudioSessionId());
equalizer.setEnabled(true);

在这里阅读更多关于均衡器的信息:均衡器Android开发者

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

https://stackoverflow.com/questions/33392660

复制
相关文章

相似问题

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