P2P语音通话
Update:
本文主要介绍 云上曲率RTC SDK的提供的P2P语音通话功能。
功能描述
云上曲率RTC SDK为开发者提供基础的通话功能,包括如下内容:
- 发送P2P语音通话请求,接收P2P语音通话请求
- P2P语音指令控制
开发者可以通过调用SDK中提供的对应接口来实现P2P语音通话的功能。
注意:实时语音数据传输过程和内容无需开发者关注,开发者仅调用接口来完成P2P语音通话业务流程即可。
接口说明
发起P2P语音通话
通过requestP2PVoiceWithUserId
接口,用户可以对其他用户发起P2P语音通话请求。
接口参数说明:
参数
含义
说明
userId
发送P2P语音通话的目标ID
用户需要在项目中,不需要考虑是否在线
timeout
超时时间
定义的超时时间,单位为秒
代码示例
-(void)requestP2PVoiceWithUserId:(NSNumber * _Nonnull)userId
timeout:(int)timeout
success:(void(^)(void))successCallback
fail:(RTCAnswerFailCallBack)failCallback;
接收请求发出后的反馈
在调用完requestP2PVoiceWithUserId
接口发起P2P语音通话请求后,会通过rtcReceiveP2PVoiceEventWithUserId
接口,接收到发出的P2P语音通话请求的反馈情况。
接口参数说明:
参数
含义
说明
userId
发送P2P语音通话的目标ID
用户需要在项目中,不需要考虑是否在线
eventId
状态反馈枚举
枚举值:
1-取消p2p语音通话请求(调用cancelP2PVoiceWithCallId
接口时产生)
2-对端挂断
3-对端已经接请求
4-对端拒绝请求
5-对端无人接听
代码示例
-(void)rtcReceiveP2PVoiceEventWithUserId:(int64_t)userId
eventId:(int64_t)eventId;
接收P2P语音通话请求
通过rtcReceiveP2PVoiceRequestWithUserId
接口,用户可以获取到其他用户发送的P2P语音通话请求,收到后可以调用其它接口进行请求处理。
接口参数说明:
参数
含义
说明
userId
P2P语音通话的发起用户ID
同一时间只能接收到一个请求
代码示例
-(void)rtcReceiveP2PVoiceRequestWithUserId:(int64_t)userId;
接受P2P语音通话
通过acceptP2PVoiceWithTimeout
接口,用户可以接受其他用户发起的P2P语音通话请求。接受后,双方正式建立P2P语音通路,进行实时语音通话。
接口参数说明:
参数
含义
说明
timeout
超时时间
定义的超时时间,单位为秒
代码示例
-(void)acceptP2PVoiceWithTimeout:(int)timeout
success:(void(^)(void))successCallback
fail:(RTCAnswerFailCallBack)failCallback;
拒绝P2P语音通话
通过refuseP2PVoiceWithTimeout
接口,用户可以拒绝其他用户发起的P2P语音通话求。拒绝后,此次请求结束。
接口参数说明:
参数
含义
说明
timeout
超时时间
定义的超时时间,单位为秒
代码示例
-(void)refuseP2PVoiceWithTimeout:(int)timeout
success:(void(^)(void))successCallback
fail:(RTCAnswerFailCallBack)failCallback;
取消P2P语音通话
用户在发起P2P语音通话请求过程时,若对端用户还未接受请求,通过cancelP2PVoiceWithTimeout
接口,用户可以主动取消此次P2P语音通话请求。
接口参数说明:
参数
含义
说明
timeout
超时时间
定义的超时时间,单位为秒
代码示例
-(void)cancelP2PVoiceWithTimeout:(int)timeout
success:(void(^)(void))successCallback
fail:(RTCAnswerFailCallBack)failCallback;
结束P2P语音通话
通过closeP2PVoiceWithTimeout
接口,正在进行P2P语音通话的双方均可以结束通话。
接口参数说明:
参数
含义
说明
timeout
超时时间
定义的超时时间,单位为秒
代码示例
-(void)closeP2PVoiceWithTimeout:(int)timeout
success:(void(^)(void))successCallback
fail:(RTCAnswerFailCallBack)failCallback;
本文主要介绍 云上曲率RTC SDK的提供的P2P语音通话功能。
功能描述
云上曲率RTC SDK为开发者提供基础的通话功能,包括如下内容:
- 发送P2P语音通话请求,接收P2P语音通话请求
- P2P语音指令控制
开发者可以通过调用SDK中提供的对应接口来实现P2P语音通话的功能。
注意:实时语音数据传输过程和内容无需开发者关注,开发者仅调用接口来完成P2P语音通话业务流程即可。
接口说明
发起P2P语音通话
通过requestP2PVoiceWithUserId
接口,用户可以对其他用户发起P2P语音通话请求。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
userId | 发送P2P语音通话的目标ID | 用户需要在项目中,不需要考虑是否在线 |
timeout | 超时时间 | 定义的超时时间,单位为秒 |
代码示例
-(void)requestP2PVoiceWithUserId:(NSNumber * _Nonnull)userId
timeout:(int)timeout
success:(void(^)(void))successCallback
fail:(RTCAnswerFailCallBack)failCallback;
接收请求发出后的反馈
在调用完requestP2PVoiceWithUserId
接口发起P2P语音通话请求后,会通过rtcReceiveP2PVoiceEventWithUserId
接口,接收到发出的P2P语音通话请求的反馈情况。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
userId | 发送P2P语音通话的目标ID | 用户需要在项目中,不需要考虑是否在线 |
eventId | 状态反馈枚举 | 枚举值: 1-取消p2p语音通话请求(调用 cancelP2PVoiceWithCallId 接口时产生)2-对端挂断 3-对端已经接请求 4-对端拒绝请求 5-对端无人接听 |
代码示例
-(void)rtcReceiveP2PVoiceEventWithUserId:(int64_t)userId
eventId:(int64_t)eventId;
接收P2P语音通话请求
通过rtcReceiveP2PVoiceRequestWithUserId
接口,用户可以获取到其他用户发送的P2P语音通话请求,收到后可以调用其它接口进行请求处理。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
userId | P2P语音通话的发起用户ID | 同一时间只能接收到一个请求 |
代码示例
-(void)rtcReceiveP2PVoiceRequestWithUserId:(int64_t)userId;
接受P2P语音通话
通过acceptP2PVoiceWithTimeout
接口,用户可以接受其他用户发起的P2P语音通话请求。接受后,双方正式建立P2P语音通路,进行实时语音通话。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
timeout | 超时时间 | 定义的超时时间,单位为秒 |
代码示例
-(void)acceptP2PVoiceWithTimeout:(int)timeout
success:(void(^)(void))successCallback
fail:(RTCAnswerFailCallBack)failCallback;
拒绝P2P语音通话
通过refuseP2PVoiceWithTimeout
接口,用户可以拒绝其他用户发起的P2P语音通话求。拒绝后,此次请求结束。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
timeout | 超时时间 | 定义的超时时间,单位为秒 |
代码示例
-(void)refuseP2PVoiceWithTimeout:(int)timeout
success:(void(^)(void))successCallback
fail:(RTCAnswerFailCallBack)failCallback;
取消P2P语音通话
用户在发起P2P语音通话请求过程时,若对端用户还未接受请求,通过cancelP2PVoiceWithTimeout
接口,用户可以主动取消此次P2P语音通话请求。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
timeout | 超时时间 | 定义的超时时间,单位为秒 |
代码示例
-(void)cancelP2PVoiceWithTimeout:(int)timeout
success:(void(^)(void))successCallback
fail:(RTCAnswerFailCallBack)failCallback;
结束P2P语音通话
通过closeP2PVoiceWithTimeout
接口,正在进行P2P语音通话的双方均可以结束通话。
接口参数说明:
参数 | 含义 | 说明 |
---|---|---|
timeout | 超时时间 | 定义的超时时间,单位为秒 |
代码示例
-(void)closeP2PVoiceWithTimeout:(int)timeout
success:(void(^)(void))successCallback
fail:(RTCAnswerFailCallBack)failCallback;