附加均衡器和低音增强

时间:2018-06-14 17:33:00

标签: android kotlin

我正在尝试将均衡器和低音增强功能附加到当前播放的音频上,如下所示:

eq = Equalizer(0, MediaPlayer().audioSessionId)
bb = BassBoost(0, MediaPlayer().audioSessionId)

但是,当我播放一些音频并检查媒体播放器是否正在运行时,MediaPlayer().isPlaying会返回false。

在过去,显然你可以传递音频会话ID为0,以提供全局均衡器或低音增强。不幸的是,this is deprecated和ID为0现在表明出现了问题。我从2015年开始this question,所以这已经被弃用了很长时间。

如何找出当前播放音频的正确audioSessionId?我查看过AudioEffectMediaPlayer文档,但仍然不明白应该如何做。

我主要使用Google音乐播放我的音乐,所以如果我必须对其ID进行硬编码以使这项工作对我来说是一个可接受的解决方案。这只适用于我正在努力学习的应用程序(我是Android和Kotlin的新手)。

完整代码库here

1 个答案:

答案 0 :(得分:3)

您可以将效果应用于audioSessionId 0,它可能适用于许多设备,但已按照您的说明弃用。 Google Play音乐不太可能拥有稳定的音频会话ID。

不再支持将效果应用于除您自己的应用或具有允许其音频会话ID已知的规定的应用之外的任何应用 - 请参阅标记为“未赢修复”的问题:

https://issuetracker.google.com/issues/36936557