android - 我们如何在 android 中为 exoplayer 添加混响效果
问题描述
我使用下面的代码为 exoplayer 添加了混响效果。我认为没有应用效果,谁能帮我将音频过滤器应用于播放的视频/音频
val reverb = PresetReverb(1, 0)
reverb.preset = PresetReverb.PRESET_LARGEHALL
reverb.enabled = true
simplePlayer?.setAuxEffectInfo(AuxEffectInfo(reverb.id, 1.0f))
simplePlayer?.prepare(mediaSource, true, true)
simplePlayer?.repeatMode = Player.REPEAT_MODE_OFF
simplePlayer?.playWhenReady = true
解决方案
您可以通过选择音轨的优先级和音频会话来添加混响效果。当您想将混响效果添加到 exoplayer 实例时,您应该使用
simplePlayer.audioSessionId
每次都应该这样做,当exoplayer播放发生变化时(即播放新文件,更改媒体项)
用于应用混响效果
val reverb = PresetReverb(1, simplePlayer.audioSessionId)
reverb.preset = PresetReverb.PRESET_LARGEHALL
reverb.enabled = true
simplePlayer.setAuxEffectInfo(AuxEffectInfo(reverb.id,1f))
用于消除混响效果
reverb.enabled=false
simplePlayer.clearAuxEffectInfo()
如需更多帮助,请参阅预设混响
推荐阅读
- javascript - 我可以将 formvalidation.io 与 React 和 Materialize-css 一起使用吗
- c# - 移动操作时文件被“锁定”并且 iis 给出 401 错误
- vector - 如何在 c++14 中使用参数将函数推送到向量?
- java - 如何从相机和文件中获取 base64string 以将其发布到服务器?
- java - Java - 如何分析函数代码
- wordpress - 在 wordpress 中重写自定义帖子类型和自定义分类的 url
- database - 为用户密码使用一张表
- android - 如何使用 dagger2 AppModule 抽象
- asp.net-mvc - 从网站到外部 Web api 的简单 POST 失败
- visual-studio-2017 - 可以在 vs 2017 上构建 Mysql Connector C++ 吗?