Эквалайзер не работает при подключении к MediaPlayer - PullRequest
0 голосов
/ 14 декабря 2018

Я создаю приложение для моих наушников Bluetooth.Приложение просто имеет квалификатор и DynamicProcessing.Когда я подключил эквалайзер к MediaPlayer, эквалайзер не работает.OnCreate:

mediaPlayer = MediaPlayer.create(getContext(), R.raw.testtrack);
    setupEqualizer();

А вот эквалайзер

private void setupEqualizer() {
    mediaPlayer = new MediaPlayer();
    mediaPlayer.start();
    Log.d(TAG, "ANH HAI" + String.valueOf(mediaPlayer.getAudioSessionId()));
    mEqualizer = new Equalizer(0, mediaPlayer.getAudioSessionId());
    if (mEqualizer != null ) {
        mEqualizer.setEnabled(true);
        int num_bands = mEqualizer.getNumberOfBands();
        num_sliders = num_bands;
        short r[] = mEqualizer.getBandLevelRange();
        min_level = r[0];
        max_level = r[1];
        for (int i = 0; i < num_sliders && i < MAX_SLIDERS; i++)
        {
            //frequency band whose frequency range is requested.
            // The numbering of the bands starts from 0 and ends at (number of bands - 1).
            //the frequency range in millHertz in an array of integers.
            // The first element is the lower limit of the range, the second element the upper limit.
            mSlider[i].setOnSeekBarChangeListener(this);
        }

    }

}

Я знаю, если мы присвоим audioSessionId значение 0, которое устарело, эквалайзер работает.Я также просмотрел некоторые ссылки, такие как: https://github.com/mosamabinomar/AndroidEqualizer https://www.101apps.co.za/articles/perfect-sound-using-the-equalizer-effect-a-tutorial.html, но я не нашел ответа.Есть ли какой-то другой способ, которым мы можем подключить эквалайзер к MediaPlayer, который работает для любой песни, воспроизводимой приложением Android (Spotify, Youtube ...)

...