大佬教程收集整理的这篇文章主要介绍了Android录音和播放扬声器作为选项,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
好.所以我使用AudioTrack播放传入的音频,AudioRecord用于记录麦克风的数据,Au@L_220_2@manager.setSpeakerphoneOn()用于启用或禁用免提电话.
听起来很简单,但并不像应该的那样简单.除非调用Au@L_220_2@manager.setMode(Au@L_220_2@manager.MODE_IN_CALL),否则Au@L_220_2@manager.setSpeakerphoneOn(false)不起作用.所以我必须在MODE_IN_CALl.
仍然可以,简单,它适用于我的G1与Android 1.6,旧的三星手机,模拟器,许多我们的客户设备等.但它无处不在:(
在三星平板电脑GT-P1000上,我得到0,0 ……的流作为麦克风输入.我认为同样的问题出现在摩托罗拉手机上(客户抱怨).经过一些测试后,我意识到它是由Au@L_220_2@manager.setMode(Au@L_220_2@manager.MODE_IN_CALL)引起的.这会导致麦克风在某些设备上无法使用.但我必须打电话给它,否则我无法禁用扬声器.
有一种简单的方法可以使它变得简单,正确和有效吗?如果可能的话,没有像Sipdroid这样高度危险的源代码:
if (RtpStreamReceiver.samsung) { Au@L_220_2@manager am = (Au@L_220_2@manager) Receiver.mContext.getSystemservice(Context.AUdio_serviCE); am.setMode(Au@L_220_2@manager.MODE_IN_CALL); am.setMode(Au@L_220_2@manager.MODE_NORMAL); }
要么
void initMode() { samsung = Build.MODEl.contains("SAMSUNG") || Build.MODEl.contains("SPH-") || Build.MODEl.contains("SGH-") || Build.MODEl.contains("GT-"); if (Receiver.call_state == UserAgent.UA_STATE_INCOMING_CALL && (Receiver.pstn_state == null || Receiver.pstn_state.equals("IDLE"))) { setMode(Au@L_220_2@manager.MODE_NORMAL); }
非常感谢
一月
以上是大佬教程为你收集整理的Android录音和播放扬声器作为选项全部内容,希望文章能够帮你解决Android录音和播放扬声器作为选项所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。