如果默认为 5 波段,如何在 Android 播放器上制作 10 波段均衡器?
How to make 10 band equalizer on Android player if default is 5 band?
我正在尝试制作一个 android 播放器,但制作均衡器时出现问题。均衡器频段是有限制的,例如 Nexus 5 默认有 5 频段均衡器。一些播放器(例如 Poweramp)以某种方式设法获得 10 频段均衡器,即使在默认情况下具有 5、6 或 13 频段的 phones 上也是如此。
我正在使用均衡器 class 将其附加到 MediaPlayer,通常我了解它是如何工作的,但是如何在 phone 上制作 10 个频段,而默认情况下只有 5 个频段?
所以我的问题是这怎么可能,有些玩家如何设法在所有 phone 上获得 10 频段均衡器,而不考虑他们的 system/hardware 限制?
就像你说的频率取决于设备上的硬件。我用我的 Nexus 5 进行了测试,它有 5 个带这些值的波段:
- 波段 1:30k-120k
- 频段 2:120k-460k
- 波段 3:460k-1.800k
- 频段 4:1.800-7.000k
- 频段 5:7.800k-1
您可以使用此代码获取频段和预设的数量:
short numberOfBands = equalizer.getNumberOfBands();
short numberOfPresets = equalizer.getNumberOfPresets();
您可以使用此代码获得的频段频率范围:
final short minLevel = equalizer.getBandLevelRange()[0]; // get min range
final short maxLevel = equalizer.getBandLevelRange()[1]; // get max range
要显示弯曲,您可以这样做:
for(short i = 0; i < numberOfBands; i++){
SeekBar seekBar = ...
mTextViewMin.setText(minLevel + "");
mTextViewMax.setText(maxLevel + "");
}
初始化均衡器:
Equalizer equalizer = new Equalizer(0, mediaplayer.getAudioSessionId());
equalizer.setEnabled(true);
在此处阅读有关均衡器的更多信息:
Equalizer Android Developer
我正在尝试制作一个 android 播放器,但制作均衡器时出现问题。均衡器频段是有限制的,例如 Nexus 5 默认有 5 频段均衡器。一些播放器(例如 Poweramp)以某种方式设法获得 10 频段均衡器,即使在默认情况下具有 5、6 或 13 频段的 phones 上也是如此。
我正在使用均衡器 class 将其附加到 MediaPlayer,通常我了解它是如何工作的,但是如何在 phone 上制作 10 个频段,而默认情况下只有 5 个频段?
所以我的问题是这怎么可能,有些玩家如何设法在所有 phone 上获得 10 频段均衡器,而不考虑他们的 system/hardware 限制?
就像你说的频率取决于设备上的硬件。我用我的 Nexus 5 进行了测试,它有 5 个带这些值的波段:
- 波段 1:30k-120k
- 频段 2:120k-460k
- 波段 3:460k-1.800k
- 频段 4:1.800-7.000k
- 频段 5:7.800k-1
您可以使用此代码获取频段和预设的数量:
short numberOfBands = equalizer.getNumberOfBands();
short numberOfPresets = equalizer.getNumberOfPresets();
您可以使用此代码获得的频段频率范围:
final short minLevel = equalizer.getBandLevelRange()[0]; // get min range
final short maxLevel = equalizer.getBandLevelRange()[1]; // get max range
要显示弯曲,您可以这样做:
for(short i = 0; i < numberOfBands; i++){
SeekBar seekBar = ...
mTextViewMin.setText(minLevel + "");
mTextViewMax.setText(maxLevel + "");
}
初始化均衡器:
Equalizer equalizer = new Equalizer(0, mediaplayer.getAudioSessionId());
equalizer.setEnabled(true);
在此处阅读有关均衡器的更多信息: Equalizer Android Developer