先前的AnyChat SDK for Android不能实现从听筒中播放声音,AnyChat团队经过研究后,找到了解决方案,在现有的SDK基础上面做如下两点修改:
一、修改AnyChat SDK中AnyChatAudioHelper文件
将
mAudioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, samplerate, channel, samplebit, mMinPlayBufSize, AudioTrack.MODE_STREAM);
复制代码
改成
mAudioTrack=new AudioTrack(AudioManager.STREAM_VOICE_CALL, samplerate, channel, samplebit, mMinPlayBufSize, AudioTrack.MODE_STREAM);
复制代码
二、上层在需要切换的地方采用以下方式调用代码
切换到听筒:
AudioManager audioManager = (AudioManager)mActivity.getSystemService(Context.AUDIO_SERVICE); audioManager.setMode(AudioManager.MODE_IN_CALL);
复制代码
切换到扬声器:
AudioManager audioManager = (AudioManager)mActivity.getSystemService(Context.AUDIO_SERVICE); audioManager.setMode(AudioManager.MODE_NORMAL);
复制代码
(注意要添加权限:android:name="android.permission.MODIFY_AUDIO_SETTINGS")
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。