连麦模块(connectMic) 提供连麦功能的集成,详细使用方式见下文。
观看页 SDK 默认不会设置连麦功能,如果需要连麦功能,开发者需要手动设置连麦功能,设置完成后即可调用连麦模块的 Api。
Api 方法: setupConnectMic(pageInstance: ConnectMicPageInstance): Promise<ConnectMicResult>
参数说明:
pageInstance:页面或组件实例,ConnectMicPageInstance 类型,必传
返回值说明: 设置结果,Promise<ConnectMicResult> 类型
示例:
// 在小程序页面或组件 attached 中设置连麦并传入页面或组件实例
Component({
lifetimes: {
async attached() {
// 设置连麦功能
const result = await watchCore.connectMic.setupConnectMic(this);
if (result.success) {
console.log('设置成功');
} else {
console.log('设置失败', result.failReason);
}
},
},
});
用于判断当前环境是否支持连麦功能。
Api 方法: supportConnectMic(): SupportResult
返回值说明: SupportResult 类型
示例:
连麦模块的状态,数据均通过 connectMicInfo 保存,开发者可通过 getConnectMicInfo 方法获取连麦信息。
PS:通过 ConnectMicEvents.ConnectMicInfoChange 事件监听连麦事件改变。
Api 方法: getConnectMicInfo(): ConnectMicStoreInfo
返回值说明: 连麦信息,ConnectMicStoreInfo 类型,详细类型说明如下
showJoinQueueNumberEnabled
示例:
1.4 判断连麦状态是否处于连麦中
通过 isConnectMicing 判断用户或传入的状态是否处于连麦中(ConnectMicStatus.Publishing or ConnectMicStatus.Connected)。
Api 方法: isConnectMicing(status?: ConnectMicStatus): boolean
参数说明:
status:连麦状态,不传则用当前状态,ConnectMicStatus 类型,选传
返回值说明: 是否连麦中
示例:
当讲师/主播开启连麦功能后,用户即可申请连麦,开发者可调用 applyConnectMic 方法申请连麦,在申请时可调用 cancelApplyConnectMic 取消连麦申请。
PS: 通过 ConnectMicEvents.AllowConnectMicApply 监听连麦申请通过
Api 方法: applyConnectMic(): Promise<ConnectMicResult>
返回值说明: Promise<ConnectMicResult> 类型
示例:
当观众申请连麦后,调用 cancelApplyConnectMic 即可取消连麦申请。
Api 方法: cancelApplyConnectMic(): void
示例:
讲师通过连麦申请后,连麦模块会触发 ConnectMicEvents.ConnectMicDataChange 事件回调新的连麦数据列表,此时列表中会存在一个 isLocal 为 true 的连麦对象。 在获取新的列表后创建连麦播放器,并在连麦播放器组件的 attached 生命周期中调用 startStream 方法推流,详细可参考 demo 中的 <connect-mic-player> 组件。
Api 方法: startStream(): void
示例:
当讲师通过观众的连麦申请并连麦成功后,通过 endConnectMic 可手动结束观众的连麦。
PS:通过 ConnectMicEvents.LeaveConnectMicSuccess 监听离开成功。
Api 方法: endConnectMic(): Promise<void>
示例:
通过 enabledVideo 方法开启本地摄像头,可通过 ConnectMicEvents.LocalVideoMuteChange 事件监听本地摄像头的开关。
Api 方法: enabledVideo(): void
示例:
通过 disabledVideo 方法关闭本地摄像头,可通过 ConnectMicEvents.LocalVideoMuteChange 事件监听本地摄像头的开关。
Api 方法: disabledVideo(): void
示例:
Api 方法: switchCamera(): void
通过 enabledAudio 方法开启本地麦克风,可通过 ConnectMicEvents.LocalAudioMuteChange 事件监听本地麦克风的开关。
Api 方法: enabledAudio(): void
示例:
通过 disabledAudio 方法关闭本地麦克风,可通过 ConnectMicEvents.LocalAudioMuteChange 事件监听本地麦克风的开关。
Api 方法: disabledAudio(): void
示例:
Enum 枚举: ConnectMicStatus
ConnectMicStatus.NotConnect
ConnectMicStatus.Applying
ConnectMicStatus.Publishing
ConnectMicStatus.Connected
用于区分讲师开启的是视频连麦或音频连麦
Enum 枚举: ConnectMicType