Android中实现听筒中播放声音
先前的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")
更多相关文章
- android src 各个版本源码下载
- Android学习之Activity1
- Android(安卓)自定义kotlin中BaseRecyclerViewAdapter
- Android:解决Camera.open()运行时异常RuntimeException
- Android隐藏标题栏和状态栏
- Android(安卓)DataBinding使用详解
- 第一行代码(三)
- Android(安卓)纯代码加入点击效果
- Android(安卓)将assets中的文件复制到外置sdcard卡