android集成直播流程,直播过程控制-Android开发集成-SDK开发集成-互动直播-网易云信开发文档...

直播过程控制

本章节介绍互动直播过程中网易云信提供的各种控制功能。包括互动直播控制和通用控制。

互动直播控制包括改变自己在会议中的角色(互动者/观众)、互动直播过程中切换推流地址

通用控制包括是否接收某用户的音频或视频数据、设置扬声器等

改变自己在会议中的角色

API介绍

多人模式下用户角色设定是通过setParameters或者setParameter接口进行设置的,参数名称在AVChatParameters中的KEY_SESSION_MULTI_MODE_USER_ROLE。在普通模式下,允许发送和接收数据。当切换到观众模式时,自己仅接收数据,不再发送数据。

API原型

/**

* 多人模式下用户角色设定。

*

* 普通模式下,允许发送和接收数据。当切换到观众模式时,自己仅接收数据,不再发送数据。

* @see AVChatUserRole#AUDIENCE

* @see AVChatUserRole#NORMAL

*/

public static final Key KEY_SESSION_MULTI_MODE_USER_ROLE = new Key<>(RtcParameters.KEY_SESSION_MULTI_MODE_USER_ROLE, Integer.class);参数说明

参数

说明

value

角色,参考AVChatUserRole,AUDIENCE是观众模式,NORMAL是普通模式。

示例

AVChatManager.getInstance().setParameter(AVChatParameters.KEY_SESSION_MULTI_MODE_USER_ROLE, AVChatUserRole.NORMAL);

设置静音

API介绍

设置静音是设置本地音频,也不发送本地音频数据。

API原型

/**

* 开/关本地音频.

*

* @param muted {@code true} 静音本地语音,{@code false} 取消本地语音静音

*/

public abstract void muteLocalAudio(boolean muted);参数说明

参数

说明

account

用户账号。

muted

true 静音;false 取消静音。

示例

//关闭语音发送.

AVChatManager.getInstance().muteLocalAudio(true);

设置视频

API介绍

设置本地视频流的发送。

API原型

/**

* 开/关本地视频流的发送.

*

* @param muted {@code true} 不发送本地视频流,{@code false} 发送本地视频流

*/

public abstract void muteLocalVideo(boolean muted);参数说明

参数

说明

account

用户账号。

muted

true 不发送;false 发送数据据。

示例

// 关闭摄像头

AVChatManager.getInstance().muteLocalVideo(true);

指定某用户设置是否对其静音

API介绍

设置是否允许播放远端用户语音流数据。

API原型

/**

* 设置是否允许播放远端用户数据.

*

* @param account 用户账号

* @param muted {@code true} 不解码播放远端语音流,{@code false} 解码播放远端语音流

*/

public abstract void muteRemoteAudio(String account, boolean muted);参数说明

参数

说明

account

用户账号。

muted

true 不解码语音流数据;false 解码语音流数据。

示例

// 不解码播放远端语音流

AVChatManager.getInstance().muteRemoteAudio(account, true);

指定某用户设置是否接收其视频

API介绍

设置是否允许播放远端用户视频流数据。

API原型

/**

* 设置是否允许播放远端用户数据.

*

* @param account 用户账号

* @param muted {@code true} 不解码绘制远端视频流,{@code false} 解码绘制远端视频流

*/

public abstract void muteRemoteVideo(String account, boolean muted);参数说明

参数

说明

account

用户账号。

muted

true 不解码视频流数据;false 解码视频流数据。

示例

//不解码绘制远端视频流

AVChatManager.getInstance().muteRemoteVideo(account, true);

设置扬声器

API介绍

设置是否使用扬声器。

API原型

/**

* 是否使用扬声器

*

* @param enable {@code true} 打开扬声器,{@code false} 关闭扬声器

*/

public abstract void setSpeaker(boolean enable);参数说明

参数

说明

enable

是否打开扬声器。

示例

boolean speakerMode = true;

AVChatManager.getInstance().setSpeaker(speakerMode = !speakerMode);

设置音频输出设备

API介绍

设置音频输出设备

API原型

/**

* 设置音频输出设备

* 可选设备列表来自此回调 {@link AVChatStateObserverLite#onAudioDeviceChanged}

*

* @param audioDevice {@link com.netease.nimlib.sdk.avchat.constant.AVChatAudioDevice}

*/

public abstract void selectAudioDevice(int audioDevice);参数说明

参数

说明

int

示例

AVChatManager.getInstance(). selectAudioDevice(AVChatAudioDevice.SPEAKER_PHONE);

获取麦克风状态

API介绍

检查麦克风是否静音。

API原型

/**

* 检查麦克风是否静音

*

* @return 麦克风是否静音

*/

public abstract boolean isMicrophoneMute();示例

boolean isMute = AVChatManager.getInstance().isMicrophoneMute();

设置麦克风静音

API介绍

设置麦克风是否静音。

API原型

/**

* 设置麦克风是否静音

*

* @param mute 麦克风是否静音

*/

public abstract void setMicrophoneMute(boolean mute);参数说明

参数

说明

mute

麦克风是否静音。

示例

boolean mute = true;

AVChatManager.getInstance(). setMicrophoneMute(mute = ! mute);

切换通话模式

API介绍

视频切换为音频需要关闭预览和视频模块,音频切换为视频需要打开预览和视频模块。

其中,设置打开和关闭视频模块enableVideo和disableVideo详见加入互动直播房间节,设置打开和关闭预览startVideoPreview和stopVideoPreview详见开始和停止视频采集节。

API原型

/**

* 是否发送本地视频流数据.

*

* @return {@code true} 本地视频暂停,{@code false} 本地视频未暂停

*/

public abstract boolean isLocalVideoMuted();

/**

* 开/关本地视频流的发送.

*

* @param muted {@code true} 不发送本地视频流,{@code false} 发送本地视频流

*/

public abstract void muteLocalVideo(boolean muted);参数说明

muteLocalVideo参数说明:

| 参数 | 说明 |

| :-------- | :------ |

| muted | 是否发送本地视频流。 |

示例

/**

* 视频切换为音频

*/

AVChatManager.getInstance().stopVideoPreview();

AVChatManager.getInstance().disableVideo();

/**

* 音频切换为视频

*/

//打开视频

AVChatManager.getInstance().enableVideo();

AVChatManager.getInstance().startVideoPreview();

// 是否在发送视频 即摄像头是否开启

if (AVChatManager.getInstance().isLocalVideoMuted()) {

AVChatManager.getInstance().muteLocalVideo(false);

}

互动直播过程中切换推流地址

API介绍

在互动直播的过程中可以实时的更新推流地址。如果加入房间时就没有指定推流地址,那么后续也不能实时更新推流地址。

API原型

/**

*

* 互动直播推流地址。

*

* 推流地址,仅主播设置,非主播用户不能设置此参数。 如果需要开启直播,必须在通话前设置推流地址,通话过程中可以更新推流地址。

public static final Key KEY_SESSION_LIVE_URL = new Key<>(RtcParameters.KEY_SESSION_LIVE_URL, String.class);参数说明

参数

说明

value

推流地址。

示例

protected String pullUrl = "..."; // 推流地址

AVChatManager.getInstance().setParameter(AVChatParameters.KEY_SESSION_LIVE_URL, pushUrl);

本篇文档内容是否对您有帮助?

05ad636b7b9697960eedc9e50e63bbcd.png有帮助

d7ecb2ab3f00c13b80e89321fbce0571.png我要吐槽

如果遇到产品相关问题,您可 提交工单 或 在线客服 寻求帮助。

您的改进建议

×

问题类型

内容错误

内容没更新

描述不清

链接有误

步骤不完整

内容缺失(缺少代码/示例)

其他

更多建议

请输入您的建议或问题(至少5个字符,至多500个字符)

联系方式

标记内容

同时提交标记内容

提交

此文档对你是否有帮助

×

05ad636b7b9697960eedc9e50e63bbcd.png有帮助

d7ecb2ab3f00c13b80e89321fbce0571.png我要吐槽

×

反馈成功

9a8a09827f580aa78fba55c9bd5bd9d6.png非常感谢您的反馈,我们会继续努力做得更好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值