直播过程控制
本章节介绍互动直播过程中网易云信提供的各种控制功能。包括互动直播控制和通用控制。
互动直播控制包括改变自己在会议中的角色(互动者/观众)、互动直播过程中切换推流地址
通用控制包括是否接收某用户的音频或视频数据、设置扬声器等
互动直播控制
改变自己在会议中的角色
- API介绍
改变自己在会议中的角色
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 改变自己在会议中的角色
*
* @param actor 是否为发言者角色, 发言者发送音视频数据, 非发言者不发送音视频数据
*
* @return 设置是否成功
*/
- (BOOL)setMeetingRole:(BOOL)actor;
@end
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
actor | BOOL | 是否为发言者角色, 发言者发送音视频数据, 非发言者不发送音视频数据 |
- 示例
//切换为发言者
[[NIMAVChatSDK sharedSDK].netCallManager setMeetingRole:YES];
切换通话模式
- API介绍
切换通话模式,用于在语音模式和视频模式之间切换。如果需要对方接受才能切换,请使用 control:type
和 onConrtol:from:type
进行协商,达成一致后再调用该接口进行切换。
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 切换网络通话类型
*
* @param type 通话类型
*
* @discussion 切换通话类型会丢失这些设置: 静音模式, 扬声器模式, 摄像头关闭, 切换摄像头
*/
- (void)switchType:(NIMNetCallMediaType)type;
@end
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
type | NIMNetCallMediaType | 通话类型 |
- 示例
//切换为视频模式
[[NIMAVChatSDK sharedSDK].netCallManager switchType:NIMNetCallMediaTypeVideo];
互动直播过程中切换推流地址
- API介绍
互动直播过程中切换推流地址
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 切换互动直播推流地址
*
* @param url 推流地址
*
* @return 是否设置成功
*/
- (BOOL)switchBypassStreamingUrl:(NSString *)url;
@end
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
url | NSString | 推流地址 |
- 示例
//切换推流
[[NIMAVChatSDK sharedSDK].netCallManager switchBypassStreamingUrl:url];
互动直播设置主画面
- API介绍
在互动直播下,动态切换布局,设置用户为主画面,只有互动直播主播可以设置
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 互动直播设置主画面
*
* @param uid 被设置的用户id
*
* @param completion 完成回调 如果设置成功 error 为 nil
*
* @discussion 在互动直播下,动态切换布局,设置用户为主画面,只有互动直播主播可以设置
*/
- (void)setAsMainArea:(NSString *)uid completion:(void(^)(NSError * __nullable error))completion;
@end
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
uid | NSString | 被设置的用户id |
completion | void(^)(NSError * __nullable error) | 完成回调 如果设置成功 error 为 nil |
- 示例
//设置主画面
[[NIMAVChatSDK sharedSDK].netCallManager setAsMainArea:uid completion:^(NSError * _Nonnull error) {
if (!error) {
[self.view makeToast:@"设置主画面成功" duration:2.0 position:CSToastPositionBottom];
}
else
{
[self.view makeToast:[NSString stringWithFormat:@"设置主画面失败 Error %@",error] duration:2.0 position:CSToastPositionBottom];
}
}];
通用控制
指定某用户设置是否对其静音
- API介绍
指定某用户设置是否对其静音
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 指定某用户设置是否对其静音
*
* @param mute 是否静音, 静音后将听不到该用户的声音
* @param uid 用户 uid
*
* @return 是否设置成功. 如果用户尚未加入, 则无法设置
*/
- (BOOL)setAudioMute:(BOOL)mute forUser:(NSString *)uid;
@end
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
mute | BOOL | 是否静音, 静音后将听不到该用户的声音 |
uid | NSString | 用户uid |
- 示例
//指定用户设置对其静音
[[NIMAVChatSDK sharedSDK].netCallManager setAudioMute:YES forUser:self.uid];
指定所有远端用户是否对其静音
- API介绍
指定所有远端用户是否对其静音
- API原型
@protocol NIMNetCallManager <NSObject>
/**
指定所有远端用户是否对其静音
@param mute 是否静音, 静音后将听不到所有用户的声音
@return 是否设置成功.
*/
- (BOOL)setAllUserAudioMute:(BOOL)mute;
@end
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
mute | BOOL | 是否静音, 静音后将听不到所有用户的声音 |
- 示例
//指定所有远端用户是否对其静音
[[NIMAVChatSDK sharedSDK].netCallManager setAllUserAudioMute:YES];
指定某用户设置是否接收其视频
- API介绍
指定某用户设置是否接收其视频
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 指定某用户设置是否接收其视频
*
* @param mute 是否拒绝视频, 拒绝后将没有该用户视频数据回调
* @param uid 用户uid
*
* @return 是否设置成功. 如果用户尚未加入, 则无法设置
*/
- (BOOL)setVideoMute:(BOOL)mute forUser:(NSString *)uid;
@end
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
mute | BOOL | 是否拒绝视频, 拒绝后将没有该用户视频数据回调 |
uid | NSString | 用户uid |
- 示例
//指定用户不接受其视频
[[NIMAVChatSDK sharedSDK].netCallManager setVideoMute:YES forUser:self.uid];
设置静音
- API介绍
设置静音
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 设置网络通话麦克风静音
*
* @param mute 是否开启麦克风静音
*
* @return 开启麦克风静音是否成功
*
* @discussion 该设置不影响伴音发送, 切换网络通话类型将丢失该设置
*/
- (BOOL)setMute:(BOOL)mute;
@end
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
mute | BOOL | 是否开启麦克风静音 |
- 示例
//开启静音
[[NIMAVChatSDK sharedSDK].netCallManager setMute:YES];
设置扬声器
- API介绍
设置扬声器
- API原型
@protocol NIMNetCallManager <NSObject>
/**
* 设置网络通话扬声器模式
*
* @param useSpeaker 是否开启扬声器
*
* @return 开启扬声器是否成功
*
* @discussion 切换网络通话类型将丢失该设置
*/
- (BOOL)setSpeaker:(BOOL)useSpeaker;
@end
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
useSpeaker | BOOL | 是否开启扬声器 |
- 示例
//开启扬声器
[[NIMAVChatSDK sharedSDK].netCallManager setSpeaker:YES];
本篇文档内容是否对您有帮助?
有帮助
我要吐槽
此文档对你是否有帮助
×
有帮助
我要吐槽
×