首页 > 解决方案 > 我们如何在 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

标签: androidaudiofiltermedia-playerexoplayer

解决方案


您可以通过选择音轨的优先级和音频会话来添加混响效果。当您想将混响效果添加到 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()

如需更多帮助,请参阅预设混响


推荐阅读