0

MediaPlayerに効果音をつけたアプリを作っているので、BassBoostが動くようになりました

 BassBoost bassBoost = new BassBoost(0, mp2.getAudioSessionId());
             bassBoost.setEnabled(true);
             BassBoost.Settings bassBoostSettingTemp =  bassBoost.getProperties();
             BassBoost.Settings bassBoostSetting = new BassBoost.Settings(bassBoostSettingTemp.toString());
             bassBoostSetting.strength=1000;
             bassBoost.setProperties(bassBoostSetting);
             if(start2<1000){
                 start2 = (short) (start2 + 100);
                 //setUpBassBostandUI();
                 bassBoost.setStrength((short)start2);
                 System.out.println("short is: "+start2);}
             bassBoost.setStrength((short) start2); 
             mp2.attachAuxEffect(bassBoost.getId());

しかし、リバーブが機能しません。PresentReverb を試してみましたが、結果が得られませんでした。現在、EnvironmentalReverb を試していますが、効果はありません。

EnvironmentalReverb eReverb = new EnvironmentalReverb(0, mp2.getAudioSessionId());
            eReverb.setDecayHFRatio((short) 100000);
            eReverb.setDecayTime(100000);
            eReverb.setDensity((short) 100000);
            eReverb.setDiffusion((short) 100000);
            eReverb.setReverbLevel((short) 100000);
            eReverb.setReverbDelay(100);
            eReverb.setEnabled(true);
            mp2.attachAuxEffect(eReverb.getId());
            mp2.setAuxEffectSendLevel(1.0f);
4

1 に答える 1

1

テストしているものがそれをサポートしていることを確認してください(デバイスに依存します)。以下を使用できます。

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

// Determine available/supported effects 
for (final Descriptor effect : effects) {
    Log.d(TAG, effect.name.toString() + ", type: " + effect.type.toString());
}

名前が何か役に立つものを出力するかどうかは、すぐには思い出せません。UUID は次の場所にあります: AudioEffect.java

サポートされていても何も聞こえない場合は、グローバル オーディオ セッションに適用して機能させる必要があります。ここに記載されています。

于 2013-06-08T15:35:56.300 に答える