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)