菊风云平台
菊风云平台多方视频通话通话过程管理

通话过程管理

1. 通话状态更新

1.1 成员状态变化回调

如果频道中的成员状态发生了改变,比如开启或关闭发送音频数据、开启本地静音等,其他成员会收到 onParticipantUpdate 的回调

/// <summary>
/// 成员更新回调
/// </summary>
/// <param name="participant">成员对象</param>
/// <param name="changeParam">更新标识类</param>
void onParticipantUpdate(JCMediaChannelParticipant participant, JCMediaChannelParticipant.ChangeParam changeParam);

1.2 新成员加入回调

如果有新成员加入了频道,其他成员会收到成员加入的回调

/// <summary>
/// 成员加入回调
/// </summary>
/// <param name="participant">成员对象</param>
void onParticipantJoin(JCMediaChannelParticipant participant);

1.3 成员离开回调

如果有成员离开了频道,其他成员会收到成员离开的回调

/// <summary>
/// 成员离开回调
/// </summary>
/// <param name="participant">成员对象</param>
void onParticipantLeft(JCMediaChannelParticipant participant);

1.4 自身状态变化回调

如果成员自身状态发生了改变会收到 onMediaChannelStateChange 的回调

/// <summary>
/// 自身状态变化回调
/// </summary>
/// <param name="state">当前状态</param>
/// <param name="oldState">变化前状态值</param>
void onMediaChannelStateChange(JCMediaChannelState state, JCMediaChannelState oldState);

其中,自身状态(JCMediaChannelState)有

名称描述
Idle空闲状态
Joining加入中
Joined已加入
JLeaving离开中

2. 通话过程控制

2.1 开启/关闭音频输出

在通话中可以通过下面的方法开启或者关闭音频输出,当 enable 值为 false 时,您将听不到其他成员的声音

/// <summary>
/// 开启关闭音频输出,可实现静音功能,建议每次Join前设置
/// </summary>
/// <param name="enable">是否开启音频输出</param>
/// <returns>返回true表示调用成功,false表示调用失败</returns>
public bool enableAudioOutput(bool enable)

2.2 开启/关闭发送本地音频流

如果想开启或关闭发送本地音频流,可以调用下面方法,当 enable 值为 false 时,将会停止发送本地音频流,此时其他成员将听不到您的声音,从而实现静音功能

/// <summary>
/// 开启关闭发送本地音频流
/// 1.在频道中将会与服务器进行交互,服务器会更新状态并同步给其他用户
/// 2.未在频道中则标记是否上传音频流,在Join时生效
/// 2.建议每次Join前设置
/// </summary>
/// <param name="enable">开启关闭本地音频流</param>
/// <returns>返回true表示调用成功,false表示调用失败</returns>
public bool enableUploadAudioStream(bool enable)

2.3 开启/关闭发送本地视频流

如果想开启或关闭发送本地视频流,可以调用下面方法,当 enable 值为 false 时,将会停止发送本地视频流,此时其他成员将看不到您的画面

/// <summary>
/// 开启关闭发送本地视频流
/// 1.在频道中将会与服务器进行交互,服务器会更新状态并同步给其他用户
/// 2.未在频道中则标记是否上传视频流,在Join时生效
/// 2.建议每次Join前设置
/// </summary>
/// <param name="enable">开启关闭本地视频流</param>
/// <returns>返回true表示调用成功,false表示调用失败</returns>
public bool enableUploadVideoStream(bool enable)

2.4 发送/停止发送本地视频流

如果想开启或关闭发送本地视频流,可以调用下面方法,当 enable 值为 false 时,将会停止发送本地视频流,此时其他成员将看不到您的画面

/// <summary>
/// 开启关闭发送本地视频流
/// 1.在频道中将会与服务器进行交互,服务器会更新状态并同步给其他用户
/// 2.未在频道中则标记是否上传视频流,在Join时生效
/// 2.建议每次Join前设置
/// </summary>
/// <param name="enable">开启关闭本地视频流</param>
/// <returns>返回true表示调用成功,false表示调用失败</returns>
public bool enableUploadVideoStream(bool enable)

示例代码

// 开启音频输出
mediaChannel.enableAudioOutput(true);
// 发送本地音频流
mediaChannel.enableUploadAudioStream(true);
// 发送本地视频流
mediaChannel.enableUploadVideoStream(true);