我正在尝试将均衡器和低音增强功能附加到当前播放的音频上,如下所示:
eq = Equalizer(0, MediaPlayer().audioSessionId)
bb = BassBoost(0, MediaPlayer().audioSessionId)
但是,当我播放一些音频并检查媒体播放器是否正在运行时,MediaPlayer().isPlaying
会返回false。
在过去,显然你可以传递音频会话ID为0,以提供全局均衡器或低音增强。不幸的是,this is deprecated和ID为0现在表明出现了问题。我从2015年开始this question,所以这已经被弃用了很长时间。
如何找出当前播放音频的正确audioSessionId
?我查看过AudioEffect和MediaPlayer文档,但仍然不明白应该如何做。
我主要使用Google音乐播放我的音乐,所以如果我必须对其ID进行硬编码以使这项工作对我来说是一个可接受的解决方案。这只适用于我正在努力学习的应用程序(我是Android和Kotlin的新手)。
完整代码库here。
答案 0 :(得分:3)
您可以将效果应用于audioSessionId 0,它可能适用于许多设备,但已按照您的说明弃用。 Google Play音乐不太可能拥有稳定的音频会话ID。
不再支持将效果应用于除您自己的应用或具有允许其音频会话ID已知的规定的应用之外的任何应用 - 请参阅标记为“未赢修复”的问题: