Android中自定义AudioEffect音效,使用AudioSessionID进行绑定后,其他session无声
发布时间:2018-02-01 来源:查字典编辑
摘要:AudioEffect是Android的音效机制,其子类有Equalizer、preset等等。其中Equalizer(EQ)就是常见的均衡...
AudioEffect是Android的音效机制,其子类有Equalizer、preset等等。其中Equalizer(EQ)就是常见的均衡器。
业务需要,我模仿EQ实现了底层的音效库so,然后继承AudioEffect实现了新的音效类Pitch。
音效的使用方法是Equalizer eq=new Equalizer(0,mediaplayer.getAudioSessionId());,通过MediaPlayer的AudioSessionId进行关联即可实现音效的具体控制,同样,我自定义的新音效也是如此实现。
问题在于,我使用getAudioSessionId()进行关联后,可以正确播放我指定的音频,音效也可以生效。但是奇怪的是,自定义音效对具体音频起作用后,其他任何的声音全部被静音了。与之相反的一点是,将audioSessionID设置为0则所有音频都会被音效所处理,这与需求不符。
请问有没有遇到类似问题的前辈?
回复讨论(解决方案)
已解决,底层音效库问题。
请问楼主知道怎么去设置全局的音效吗?