P2P语音通话
更新时间:
本文主要介绍 云上曲率RTC SDK的提供的P2P语音通话功能。
功能描述
云上曲率RTC SDK为开发者提供基础的通话功能,包括如下内容:
- 发送P2P语音通话请求,接收P2P语音通话请求
- P2P语音指令控制
开发者可以通过调用SDK中提供的对应接口来实现P2P语音通话的功能。
注意:实时语音数据传输过程和内容无需开发者关注,开发者仅调用接口来完成P2P语音通话业务流程即可。
接口说明
发起P2P语音通话
通过requestP2PRTC接口,用户可以对其他用户发起P2P语音通话请求。
接口参数说明:
参数
含义
说明
type
通话类型
包括语音通话与视频通话
toUid
目标ID
用户需要在项目中,不需要考虑是否在线
view
己端预览视图
音视频通话时使用
代码示例
public void requestP2PRTC(P2PRTCType type , long toUid, SurfaceView view, IRTMEmptyCallback callback)
接收P2P语音通话请求
通过IRTCPushProcessor类中的pushRequestP2PRTC接口,获取到其他用户的P2P语音通话请求。
接口参数说明:
参数
含义
说明
uid
P2P语音通话的发起用户ID
同一时间只能接收到一个请求
type
通话类型
包括语音通话与视频通话
代码示例
public interface IRTCPushProcessor {
default void pushRequestP2PRTC(long uid, P2PRTCType type){}
}
接收请求发出后的反馈
在调用完requestP2PRTC接口发起P2P语音通话请求后,会通过IRTCPushProcessor类中的pushP2PRTCEvent接口`,接收到发出的P2P语音通话请求的反馈情况。
接口参数说明:
参数
含义
说明
uid
发送P2P语音通话的目标ID
用户需要在项目中,不需要考虑是否在线
type
通话类型
包括语音通话与视频通话
type
状态反馈枚举
枚举值:
1-取消p2p语音通话请求(调用cancelP2PRTC接口时产生)
2-对端挂断
3-对端接受请求
4-对端拒绝请求
5-对端无人接听
代码示例
public interface IRTCPushProcessor {
default SurfaceView pushP2PRTCEvent(long uid, P2PRTCType type, P2PRTCEvent event){return null;}
}
接受P2P语音通话
通过acceptP2PRTC接口,用户可以接受其他用户发起的P2P语音通话请求。接受后,双方正式建立P2P语音通路,进行实时语音通话。
接口参数说明:
参数
含义
说明
preview
己端预览视图
音视频通话时使用
bindview
对端试图
音视频通话时使用
代码示例
public void acceptP2PRTC(SurfaceView preview, SurfaceView bindview, IRTMEmptyCallback callback)
拒绝P2P语音通话
通过refuseP2PRTC接口,用户可以拒绝其他用户发起的P2P语音通话求。拒绝后,此次请求结束。
代码示例
public void refuseP2PRTC(IRTMEmptyCallback callback)
取消P2P语音通话
用户在发起P2P语音通话请求过程时,若对端用户还未接受请求,通过cancelP2PRTC接口,用户可以主动取消此次P2P语音通话请求。
代码示例
public void cancelP2PRTC(IRTMEmptyCallback callback)
结束P2P语音通话
通过closeP2PRTC接口,正在进行P2P语音通话的双方均可以结束通话。
代码示例
public void closeP2PRTC(IRTMEmptyCallback callback)
本文主要介绍 云上曲率RTC SDK的提供的P2P语音通话功能。
功能描述
云上曲率RTC SDK为开发者提供基础的通话功能,包括如下内容:
- 发送P2P语音通话请求,接收P2P语音通话请求
- P2P语音指令控制
开发者可以通过调用SDK中提供的对应接口来实现P2P语音通话的功能。
注意:实时语音数据传输过程和内容无需开发者关注,开发者仅调用接口来完成P2P语音通话业务流程即可。
接口说明
发起P2P语音通话
通过requestP2PRTC接口,用户可以对其他用户发起P2P语音通话请求。
接口参数说明:
| 参数 | 含义 | 说明 |
|---|---|---|
| type | 通话类型 | 包括语音通话与视频通话 |
| toUid | 目标ID | 用户需要在项目中,不需要考虑是否在线 |
| view | 己端预览视图 | 音视频通话时使用 |
代码示例
public void requestP2PRTC(P2PRTCType type , long toUid, SurfaceView view, IRTMEmptyCallback callback)
接收P2P语音通话请求
通过IRTCPushProcessor类中的pushRequestP2PRTC接口,获取到其他用户的P2P语音通话请求。
接口参数说明:
| 参数 | 含义 | 说明 |
|---|---|---|
| uid | P2P语音通话的发起用户ID | 同一时间只能接收到一个请求 |
| type | 通话类型 | 包括语音通话与视频通话 |
代码示例
public interface IRTCPushProcessor {
default void pushRequestP2PRTC(long uid, P2PRTCType type){}
}
接收请求发出后的反馈
在调用完requestP2PRTC接口发起P2P语音通话请求后,会通过IRTCPushProcessor类中的pushP2PRTCEvent接口`,接收到发出的P2P语音通话请求的反馈情况。
接口参数说明:
| 参数 | 含义 | 说明 |
|---|---|---|
| uid | 发送P2P语音通话的目标ID | 用户需要在项目中,不需要考虑是否在线 |
| type | 通话类型 | 包括语音通话与视频通话 |
| type | 状态反馈枚举 | 枚举值: 1-取消p2p语音通话请求(调用 cancelP2PRTC接口时产生)2-对端挂断 3-对端接受请求 4-对端拒绝请求 5-对端无人接听 |
代码示例
public interface IRTCPushProcessor {
default SurfaceView pushP2PRTCEvent(long uid, P2PRTCType type, P2PRTCEvent event){return null;}
}
接受P2P语音通话
通过acceptP2PRTC接口,用户可以接受其他用户发起的P2P语音通话请求。接受后,双方正式建立P2P语音通路,进行实时语音通话。
接口参数说明:
| 参数 | 含义 | 说明 |
|---|---|---|
| preview | 己端预览视图 | 音视频通话时使用 |
| bindview | 对端试图 | 音视频通话时使用 |
代码示例
public void acceptP2PRTC(SurfaceView preview, SurfaceView bindview, IRTMEmptyCallback callback)
拒绝P2P语音通话
通过refuseP2PRTC接口,用户可以拒绝其他用户发起的P2P语音通话求。拒绝后,此次请求结束。
代码示例
public void refuseP2PRTC(IRTMEmptyCallback callback)
取消P2P语音通话
用户在发起P2P语音通话请求过程时,若对端用户还未接受请求,通过cancelP2PRTC接口,用户可以主动取消此次P2P语音通话请求。
代码示例
public void cancelP2PRTC(IRTMEmptyCallback callback)
结束P2P语音通话
通过closeP2PRTC接口,正在进行P2P语音通话的双方均可以结束通话。
代码示例
public void closeP2PRTC(IRTMEmptyCallback callback)