Compare commits

...

5 Commits

1 changed files with 8 additions and 6 deletions

View File

@ -166,7 +166,7 @@ const Meeting: React.FC = () => {
const [currentLookUserAccount, setCurrentLookUserAccount] = useState<any>('') const [currentLookUserAccount, setCurrentLookUserAccount] = useState<any>('')
const [recorder, setRecorder] = useState<any>('') const [recorder, setRecorder] = useState<any>('')
const [_currentRequestSpeakType, setCurrentRequestSpeakType] = useState<'video' | 'audio' | ''>('') const [_currentRequestSpeakType, setCurrentRequestSpeakType] = useState<'video' | 'audio' | ''>('')
const [_mediaStream, setMediaStream] = useState<any>('') const [_mediaStream, setMediaStream] = useState<any>([])
const [isShare, setIsShare] = useState<any>(null) const [isShare, setIsShare] = useState<any>(null)
const [isSharePopConfirm, setIsSharePopConfirm] = useState(false) const [isSharePopConfirm, setIsSharePopConfirm] = useState(false)
const [_isNetworkDisconnected, setIsNetworkDisconnected] = useState(false) const [_isNetworkDisconnected, setIsNetworkDisconnected] = useState(false)
@ -841,7 +841,7 @@ const Meeting: React.FC = () => {
const mp4Path = `${setting.recordingFilesPath}会议录制_${state.roomName}_${state.channelId}_${dayjs().format('YYYY年MM月DD日HH时mm分')}.webm`; const mp4Path = `${setting.recordingFilesPath}会议录制_${state.roomName}_${state.channelId}_${dayjs().format('YYYY年MM月DD日HH时mm分')}.webm`;
await fs.writeFile(mp4Path, buffer, {}); await fs.writeFile(mp4Path, buffer, {});
setRecorder('') setRecorder('')
setMediaStream('') setMediaStream([])
confirm({ confirm({
title: '提示', title: '提示',
icon: <ExclamationCircleFilled />, icon: <ExclamationCircleFilled />,
@ -1487,7 +1487,7 @@ const Meeting: React.FC = () => {
// 录制所有音频输入设备 // 录制所有音频输入设备
audioInputDevices.forEach(async device => { audioInputDevices.forEach(async device => {
const micStream = await navigator.mediaDevices.getUserMedia({ audio: { deviceId: { exact: device.deviceId } } }); const micStream = await navigator.mediaDevices.getUserMedia({ audio: { deviceId: { exact: device.deviceId } } });
setMediaStream(micStream); setMediaStream((res: any) => [...res, micStream]);
const micSoundSource = audioCtx.createMediaStreamSource(micStream); const micSoundSource = audioCtx.createMediaStreamSource(micStream);
micSoundSource.connect(systemSoundDestination); micSoundSource.connect(systemSoundDestination);
}) })
@ -1555,10 +1555,12 @@ const Meeting: React.FC = () => {
return res return res
}) })
setMediaStream((res: any) => { setMediaStream((res: any) => {
if (res) { if (res.length) {
res.getTracks().forEach((track: any) => { res.forEach((item: any) => {
item.getTracks().forEach((track: any) => {
track.stop() track.stop()
}); });
});
} }
return res return res
}) })