首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

把声音播放的输出设置成MIC,该怎么解决

2013-11-20 
把声音播放的输出设置成MIC我想实现一个自动应答的功能,比如“听到D声后请留言”。个人想象的解决方式是,把声

把声音播放的输出设置成MIC
我想实现一个自动应答的功能,比如“听到D声后请留言”。个人想象的解决方式是,把声音播放的输出设置成MIC,这样对方就可以听到了,那么怎么实现:当别人来电时,把自己预先准备好的音频输出设置成MIC,让对方听到?
期待各位的热烈发言!!!
[解决办法]
CallNotifier.java收到incoming消息后转到handleMessage()进行处理;handleMessage()将incoming消息传给onNewRingingConnection()函数进行处理;在onNewRingingConnection()函数中首先建立ringing连接,获取Call.State状态为INCOMING,然后通过PhoneApp的requestWakeState()函数唤起相应的状态(PARTIAL);然后移除PHONE_AUTO_ANSWER消息;接着执行startIncomingCallQuery(c);在函数startIncomingCallQuery中通过PhoneUtils的startGetCallerInfo()函数获取Caller的相关信息;这样就完成了ringing的连接;同时就完成了incoming状态的一个改变,进一步在CallNotifier的hangdleMessage中调用onPhoneStateChanged()函数处理相关状态的改变(包括通知PhoneApp状态改变,通知InCallScreen状态改变)。InCallScreen受到状态改变的消息后在handleMessage中对之进行处理,即要调用InCallScreen的onPhoneStateChanged()函数进行处理。回到CallNotifier.java中,当handleMessage()处理onCustomRingQueryComplete(),在该函数中会调用Ringer.java的响铃函数进行铃声通知ring(),接着再调用PhoneUtils.showIncomingCallUi();显示UI(通过调用PhoneApp类的displayCallScreen()函数)。下一步,如果接通电话,则走如下流程:
首先更新UI显示(调用CallCard.java的相关函数),然后进入InCallScreen的消息处理,接着进入PhoneUtils的answerCall()函数,在此函数中,会首先通过
PhoneApp.getInstance().getRinger().stopRing();停止响铃,然后更新UI页面。

看看这个吧,网上找的
地址
http://apps.hi.baidu.com/share/detail/34553918
[解决办法]
设置AudioManager.set...,去查下api,可以更改输出设备

热点排行