关于AudioManager在项目中遇到的一些问题的记录
2017-03-20 16:58
399 查看
在项目中涉及到语音的一些处理,其中遇到了一些问题。在打完电话后重新进入项目调起TTS,语音从话筒中出来,不从扩音器中出来,audiofocus变成了-2,并且没有重新获取。解决方案为:监听电话,手机空闲设置模式为speakeron,手机挂起是释放audiofocus。
代码如下:
mPhoneManager = ((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE));
mPhoneManager.listen(mPhoneStateListener,PhoneStateListener.LISTEN_CALL_STATE);
private PhoneStateListener mPhoneStateListener = new PhoneStateListener(){
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
Log.d(TAG, "手机空闲");
mAudioManager.setSpeakerphoneOn(true);
break;
case TelephonyManager.CALL_STATE_RINGING:
Log.d(TAG, "手机来电");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.d(TAG, "手机挂起");
mAudioManager.abandonAudioFocus(mAudioFocusListener);
default:
break;
}
super.onCallStateChanged(state, incomingNumber);
}
};
代码如下:
mPhoneManager = ((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE));
mPhoneManager.listen(mPhoneStateListener,PhoneStateListener.LISTEN_CALL_STATE);
private PhoneStateListener mPhoneStateListener = new PhoneStateListener(){
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
Log.d(TAG, "手机空闲");
mAudioManager.setSpeakerphoneOn(true);
break;
case TelephonyManager.CALL_STATE_RINGING:
Log.d(TAG, "手机来电");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.d(TAG, "手机挂起");
mAudioManager.abandonAudioFocus(mAudioFocusListener);
default:
break;
}
super.onCallStateChanged(state, incomingNumber);
}
};
相关文章推荐
- 艾伟也谈项目管理,项目过程中所遇到的各种问题记录——有关MSChart的一些小技巧
- 关于调试项目遇到的问题记录
- 关于**订单缴费windows服务项目过程中遇到的一些问题和反思
- [项目过程中所遇到的各种问题记录]图表篇——有关MSChart的一些小技巧
- 关于通过iText通过HTML转成PDF导出的操作遇到一些问题的记录
- [项目过程中所遇到的各种问题记录]图表篇——有关MSChart的一些小技巧
- 做项目时遇到的关于mysql数据库的一些问题
- 关于AndroidStudio如何导入新项目LibraryProject以及遇到的一些问题
- SOS!!!关于游戏汉化项目中遇到一些不能解决的问题。。。。。
- [项目过程中所遇到的各种问题记录]ORM篇——使用NHibernate配置对象实体的一些小问题
- [项目过程中所遇到的各种问题记录]ORM篇——使用NHibernate配置对象实体的一些小问题
- vue搭建项目时遇到的一些问题记录
- 关于在项目中遇到的一些兼容性问题----img
- 关于Unity项目中创建项目遇到的一些问题
- 关于把.net 2.0的项目升级到.net4.0遇到的一些问题
- 分布式项目中遇到的一些问题:记录
- [项目过程中所遇到的各种问题记录]图表篇——有关MSChart的一些小技巧
- 项目1.3版本遇到的关于通知的一些问题
- 整合项目遇到的一些问题 记录一下 前后台传值 和 编码问题