Эквалайзер Android - Как использовать ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION? - PullRequest
0 голосов
/ 04 октября 2019

Я хочу применить изменения эквалайзера ко всем приложениям. Однако использование 0 в качестве глобального идентификатора сеанса устарело, вы должны использовать:

        mEqualizer = new Equalizer(0, mPlayer.getAudioSessionId());

вместо mEqualizer = new Equalizer(0, 0);

Согласно Android , выможно использовать ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION для получения идентификатора воспроизводимого аудио-сеанса:

Намерение сообщить приложению или службе управления эффектами, что новый аудио-сеанс открыт и требует применения звуковых эффектов.

Однако, как вы должны его использовать? Я попытался добавить константу в манифест, но она не сработала:

<receiver android:name=".receivers.AudioSessionReceiver">
        <intent-filter>
            <action android:name="android.media.action.OPEN_AUDIO_EFFECT_CONTROL_SESSION"/>
        </intent-filter>
</receiver>

(когда я воспроизводю аудиофайл или музыкальное видео, ресивер не вызывается)

Если это не способ применения настроек аудио (эквалайзера) к другим приложениям, что это такое?

Обновление : у меня просто были проблемы с Logcat, теперь он работает, но только со Spotify, а не с другими приложениями.

...