私はアンドロイドでバスブースト効果を実装しようとしました..しかし効果はありません..私はバスブースト効果のために次のコードを使用しました;(私はグローバルオーディオセッションIDを使用してみました、そして私はマニフェストファイルに許可を追加しました)->オーディオ設定を変更..
enter code here
BassBoost boost = new BassBoost(0,mp.getAudioSessionId());
boost.setEnabled(true);
boost.setStrength((Short)1000);
mp.attachAuxEffect(boost.getId());--->if i use this i'm getting(-38,0) or else no effect
mp.setSendLevel(1.0f);
以下のコードをベース ブースト エフェクトに使用しました。メディア プレーヤー (-38,0) エラーが発生しました。この問題を解決してください。
enter code here
public class MainActivity extends Activity
{
MediaPlayer mediaplayer;
AssetFileDescriptor descriptor;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
setContentView(R.layout.activity_main);
mediaplayer = new MediaPlayer();
mediaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
descriptor = MainActivity.this.getAssets().openFd("Kalimba.mp3");
} catch (IOException e1) {
e1.printStackTrace();
}
try {
mediaplayer.setDataSource(descriptor.getFileDescriptor(),
descriptor.getStartOffset(), descriptor.getLength());
} catch (IllegalArgumentException e1) {
e1.printStackTrace();
} catch (IllegalStateException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
descriptor.close();
} catch (IOException e1) {
e1.printStackTrace();
}
setUpBooster();
mediaplayer.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
}
public void setUpBooster() {
BassBoost booster = new BassBoost(0,0);//-->tried with sessionid also
booster.setStrength((short) 1000);
booster.setEnabled(true);
mediaplayer.attachAuxEffect(booster.getId());
mediaplayer.setAuxEffectSendLevel(1.0f);
try {
mediaplayer.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
}
}