diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 598a1c8..260d763 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -260,6 +260,19 @@ const Meeting: React.FC = () => { }); }, [currentVideoId, roomUserList]); + useEffect(() => { + let item = roomUserList.find((item: any) => currentVideoId == item.uid) + if (item) { + if (isShare) { + if (Number(item.screenShareId) === Number(isShare)) { + agora.muteRemoteAudioStream(Number(isShare), false) + } else { + agora.muteRemoteAudioStream(Number(isShare), true) + } + } + } + }, [currentVideoId, isShare]); + useEffect(() => { onSignalr(async (item: any) => { const setting = JSON.parse(storage.getItem('setting') as string) @@ -1082,7 +1095,8 @@ const Meeting: React.FC = () => { // 获取桌面可共享屏幕的引用 const getDesktopCapturerVideo = (): void => { agora.getDesktopCapturerVideo({ width: 300, height: 300 }, { width: 300, height: 300 }, true).then((res: any) => { - res.forEach((item: any) => { + res.forEach((item: any, index: number) => { + item.sourceTitle = '桌面' + (index + 1) if (item.thumbImage.buffer) { item.thumbnailUrl = thumbImageBufferToBase64(item.thumbImage) } diff --git a/src/utils/package/agora.ts b/src/utils/package/agora.ts index 1625f51..e2748df 100644 --- a/src/utils/package/agora.ts +++ b/src/utils/package/agora.ts @@ -291,8 +291,13 @@ export const agora = { await agora.stopCameraCapture(); await rtcEngine.leaveChannelEx({ channelId: option.channelId + 'a', localUid: Number('1' + option.screenShareId) }) }, + // 取消或恢复订阅指定远端用户的音频流 + muteRemoteAudioStream: async (uid: number, mute: boolean) => { + rtcEngine.muteRemoteAudioStream(uid, mute) + }, + // 销毁视频渲染dom destroyRendererByConfig: async (uid: number) => { - rtcEngine.destroyRendererByConfig(VideoSourceType.VideoSourceRemote, option.channelId + 'a', uid); + await rtcEngine.destroyRendererByConfig(VideoSourceType.VideoSourceRemote, option.channelId + 'a', uid); }, // ai降噪 setAINSMode: async (enabled: boolean, mode: AudioAinsMode) => {