Я хочу применить изменения эквалайзера ко всем приложениям. Однако использование 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, а не с другими приложениями.