2

*当我运行此代码时,只有简单的声音在播放 BassBoost 在更改搜索栏时不起作用,我做错了什么吗?我是如何在 Google 上观看一些关于堆栈溢出的教程的,但没有一个得到回答。

	player = MediaPlayer.create(getApplicationContext(), R.raw.song);
player.start();
	

    bb = new BassBoost(0, player.getAudioSessionId());
    		bb.setEnabled(true);
    		player.setAuxEffectSendLevel(1.0f);
    		



	bassbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
    				@Override
    				public void onStopTrackingTouch(SeekBar seekBar) {
    					// TODO Auto-generated method stub
    				}
    				@Override
    				public void onStartTrackingTouch(SeekBar seekBar) {
    					// TODO Auto-generated method stub
    				}
    				@Override
    				public void onProgressChanged(SeekBar seekBar, int progress,
    						boolean fromUser) {
    					// TODO Auto-generated method stub
    					bb.setStrength((short) (progress * 10));
    				}
    			});

4

1 回答 1

4

检查是否支持。

bassBoost = new BassBoost(0, 0);
bassBoost.setEnabled(true);

if (bassBoost.getStrengthSupported())
{
    short word1 = bassBoost.getRoundedStrength();
    bassBoost.setStrength(word1);
}

您还可以检查您正在测试的任何内容是否支持它(它取决于设备)。您可以使用:

final Descriptor[] effects = AudioEffect.queryEffects();

// Determine available/supported effects 
for (final Descriptor effect : effects) {
    Log.d(TAG, effect.name.toString() + ", type: " + effect.type.toString());
}
于 2015-05-11T07:40:08.457 回答