我的问题很简单:内置android均衡器提供的默认频段数是多少?另外,保证最小频段数是多少?
就我的研究而言,答案似乎是5,但它没有很好的记录。但是,在我目前可用的设备上测试它,我得到了以下结果:
我获得这些数字的方式如下:
MediaPlayer mp=new MediaPlayer(this);
/* some initialization */
Equalizer eq=new Equalizer(0, mp.getAudioSessionId());
short bands=eq.getNumberOfBands();
所以,在某些设备上,我可能会获得更多频段,但最小数字是5?
另外,这是一种很好的方法,我动态地渲染均衡器的UI部分,具体取决于当前设备有多少波段,然后让用户设置自己的首选项?
提前致谢!
答案 0 :(得分:2)
我认为没有默认的乐队数量,假设有一个默认/固定数量的乐队,你不应该建立你的应用程序。
当然,您必须根据设备的频段数动态渲染UI均衡器。
答案 1 :(得分:2)
我无法分辨设备的频段数量。它取决于硬件。三星Galaxy有13个均衡器频段,有些设备比它更大。
您可以简单地以编程方式创建任意数量的波段。
Equalizer eq=new Equalizer(0, mp.getAudioSessionId());
short bands=eq.getNumberOfBands();
LinearLayout parentViewToAllEqualizerSeekBars = findViewById...
for(int i=0;i<(int)bands.length;i++)
{
//create seekbar programmatically and set it min max and add to the view
Seekbar seek = new SeekBar(this);
seek.min(equalizerMinLevel....)
seek.max(equalizerMaxLevel..)
parentViewToAllEqualizerSeekBars .addView(seek);
}
现在它适用于所有设备。它是否具有小于5或大于13的波段。
注意:强>
同时检查equalizer!=null
是否必须
答案 2 :(得分:0)