网络语音开发介绍

网络语音是基于IP网络实现的点对点实时语音通话方式,通过将模拟声音讯号(Voice)数字化,以数据包的形式在IP网络间实时传递,支持多终端跨平台(APP、Web 、PC)。在WiFi环境下,双方可以真正实现免费通话,自由连通,包括国内长途和国际长途通话。在非WiFi环境下,双方将会消耗一定的流量(1分钟约0.125M)。

在现在这个WiFi热点遍地的时代,不少创业者都看着的网络语音这款蛋糕,不少免费WiFi电话,网络电话应运而生,当然去开发一整套app是比较复杂的,所以笔者在这里介绍一种比较简洁的方式,就是在自己架构系统功能,底层通讯就集成别人的SDK,以下就以云之讯的SDk为例,当然也适用于其他语言和其他商家的SDK。

1. 注册VoIP电话监听器


          
/**
 * 注册VoIP电话监听器,监听VoIP电话的各种状态
 * @param csl  CallStateListener监听器实例  
 * @return void
 */
UCSCall. addCallStateListener(CallStateListener csl)
        
2. 发起呼叫(不含回拨)


          
/**
 *发起呼叫
 * @param mContext  当前程序上下文 ApplicationContext 
 * @param callType 拨打电话方式,类型为: 0:直拨 1:免费 2:回拨
 * @param calledNumber 被叫手机号码或Client账号
 * @return void 
 */
UCSCall. dial(Context mContext,CallType callType,String calledNumner);
        
3. 发起回拨呼叫


          
/**
 * @param mContext
 * @param calledNumner:被叫号码
 * @param fromSerNum:呼叫主叫所要显示的号码(没有可以不传)
 * @param toSerMum:呼叫被叫所要显示的号码(没有可以不传)
 */
UCSCall.callBack(Context mContext,String calledNumner,String fromSerNum,String toSerMum)
        
4. 释放通话


          
/**
 * 释放通话
 * @param callid  当前通话id (目前版本为空)
 * @return void 
 */
UCSCall.hangUp(String callid)
        
5. 接听来电


          
/**
 * 被叫接听
 * @param callid  当前通话id 
 * @return void 
 */
UCSCall.answer(String callid)
        
6. 发送DTMF


          
/**
 * 发送DTMF
 * @param mContext  Context 
 * @param keyCode  KeyEnvent CODE 
 * @param call_dtmf  用于显示输入的keyCode值
 * @return void
 */
UCSCall.sendDTMF(Context mContext, int keyCode, EditText call_dtmf)
        
7. 设置扬声器


          
/**
 * 设置扬声器
 * @param isSpeakerphoneOn   false:关闭  true:打开 
 * @return void
 */
UCSCall.setSpeakerphone(boolean isSpeakerphoneOn)
        
8. 获取扬声器状态


          
/**
 * 获取扬声器状态
 * @param 
 * @return boolean  true:开启 ;false:关闭
 */
UCSCall.isSpeakerphoneOn()
        
9. 设置静音


          
/**
 * 设置静音
 * @param isMicMute  true:静音 ;false:正常
 * @return void
 */
UCSCall.setMicMute(boolean isMicMute)
        
10. 获取静音状态


          
/**
 * 获取静音状态
 * @param 
 * @return boolean  true:静音 ;false:正常
 */
UCSCall.isMicMute()
        
11. 播放来电铃声


          
/**
 * 播放来电铃声
 * @param  isVibrator:是否振动
 * @return void
 */
UCSCall.startRinging(boolean isVibrator)
        
12. 停止播放来电铃声


          
/**
 * 停止播放来电铃声
 * @return void
 */
UCSCall.stopRinging()
        
13. 播放去电铃声


          
/**
 * 播放去电铃声(彩铃)
 * @param fileName  音频裸数据文件名称,为PCM格式,放在assets目录下
 * @return void
 */
UCSCall .startCallRinging(String fileName) 如何转为PCM格式
        
14. 停止播放去电铃声


          
/**
 * 停止播放去电铃声
 * @return void
 */
UCSCall .stopCallRinging()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值