diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 8813f46..fac31aa 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -680,15 +680,17 @@ const Meeting: React.FC = () => { } }) await agora.getAudioMediaList().then(async (res) => { - if (res.ecordingList.length) { - footerListTemplate[0][0].title = item.enableMicr ? '静音' : '解除静音' - footerListTemplate[0][0].active = !item.enableMicr - await agora.muteLocalAudioStream(!item.enableMicr) - } else { - footerListTemplate[0][0].title = '解除静音' - footerListTemplate[0][0].active = true - await agora.muteLocalAudioStream(true) - } + getUserRoomInfo().then(async (r) => { + if (res.ecordingList.length) { + footerListTemplate[0][0].title = item.enableMicr ? '静音' : '解除静音' + footerListTemplate[0][0].active = !item.enableMicr + await agora.muteLocalAudioStream(r, item.enableMicr) + } else { + footerListTemplate[0][0].title = '解除静音' + footerListTemplate[0][0].active = true + await agora.muteLocalAudioStream(r, false) + } + }) }) if (!role.ID.includes(userInfo.roleId)) { if (item.isRoomManager) { diff --git a/src/utils/package/agora.ts b/src/utils/package/agora.ts index c1464a9..48097d5 100644 --- a/src/utils/package/agora.ts +++ b/src/utils/package/agora.ts @@ -317,8 +317,16 @@ export const agora = { rtcEngine.enableLoopbackRecording(false) }, // 取消或恢复发布本地音频流 - muteLocalAudioStream: async (mute: any) => { - await rtcEngine.muteLocalAudioStreamEx(mute, ({ channelId: option.channelId, localUid: Number(option.uid) })) + muteLocalAudioStream: async (data: any, mute: any) => { + // await rtcEngine.muteLocalAudioStream(mute) + await rtcEngine.updateChannelMediaOptions({ + clientRoleType: data ? ClientRoleType.ClientRoleBroadcaster : ClientRoleType.ClientRoleAudience, //用户角色 ClientRoleBroadcaster 主播 ClientRoleAudience 观众 + autoSubscribeAudio: true,//设置是否自动订阅所有音频流 + autoSubscribeVideo: true,//设置是否自动订阅所有视频流 + publishMicrophoneTrack: mute,//设置是否发布麦克风采集到的音频 + publishCameraTrack: true,//设置是否发布摄像头采集的视频 + publishScreenTrack: false,//设置是否发布屏幕采集的视频 + }) }, // 取消或恢复发布本地视频流 muteLocalVideoStream: async (mute: any) => {