AudioEffect是Android的音效机制,其子类有Equalizer、preset等等。其中Equalizer(EQ)就是常见的均衡器。
业务需要,我模仿EQ实现了底层的音效库so,然后继承AudioEffect实现了新的音效类Pitch。
音效的使用方法是Equalizer eq=new Equalizer(0,mediaplayer.getAudioSessionId());,通过MediaPlayer的AudioSessionId进行关联即可实现音效的具体控制,同样,我自定义的新音效也是如此实现。
问题在于,我使用getAudioSessionId()进行关联后,可以正确播放我指定的音频,音效也可以生效。但是奇怪的是,自定义音效对具体音频起作用后,其他任何的声音全部被静音了。与之相反的一点是,将audioSessionID设置为0则所有音频都会被音效所处理,这与需求不符。
请问有没有遇到类似问题的前辈?
回复讨论(解决方案)
已解决,底层音效库问题。
请问楼主知道怎么去设置全局的音效吗?
【Android中自定义AudioEffect音效,使用AudioSessionID进行绑定后,其他session无声】相关文章:
★ Android开发笔记之:如何安全中止一个自定义线程Thread的方法
★ Android基础之使用Fragment适应不同屏幕和分辨率
★ 解析在Android中为TextView增加自定义HTML标签的实现方法
★ android使用Messenger绑定Service的多种实现方法
★ 解析Android中实现滑动翻页之ViewFlipper的使用详解
★ android开发之调用手机的摄像头使用MediaRecorder录像并播放