yangjie #16

Merged
yangqiang merged 6 commits from yangjie into master 2024-09-27 16:48:18 +08:00
1 changed files with 17 additions and 12 deletions
Showing only changes of commit 932d8e8285 - Show all commits

View File

@ -160,7 +160,7 @@ const Meeting: React.FC = () => {
const [noViewChatList, setNoViewChatList] = useState(0) const [noViewChatList, setNoViewChatList] = useState(0)
const [currentLookUserAccount, setCurrentLookUserAccount] = useState<any>('') const [currentLookUserAccount, setCurrentLookUserAccount] = useState<any>('')
const [recorder, setRecorder] = useState<any>('') const [recorder, setRecorder] = useState<any>('')
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<any>(false) const [isSharePopConfirm, setIsSharePopConfirm] = useState<any>(false)
const [isShareUser, setIsShareUser] = useState<any>(null) const [isShareUser, setIsShareUser] = useState<any>(null)
@ -570,6 +570,8 @@ const Meeting: React.FC = () => {
const buffer = Buffer.from(reader.result); const buffer = Buffer.from(reader.result);
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('')
setMediaStream('')
confirm({ confirm({
title: '提示', title: '提示',
icon: <ExclamationCircleFilled />, icon: <ExclamationCircleFilled />,
@ -1071,7 +1073,6 @@ const Meeting: React.FC = () => {
footerListTemplate[itemIndex][rowIndex].title = '录制中'; footerListTemplate[itemIndex][rowIndex].title = '录制中';
footerListTemplate[itemIndex][rowIndex].active = true; footerListTemplate[itemIndex][rowIndex].active = true;
setFooterList(footerListTemplate); setFooterList(footerListTemplate);
window.electron.getSources().then(async (sources: any) => { window.electron.getSources().then(async (sources: any) => {
const screenId = sources[0].id; const screenId = sources[0].id;
const stream = await navigator.mediaDevices.getUserMedia({ const stream = await navigator.mediaDevices.getUserMedia({
@ -1167,16 +1168,20 @@ const Meeting: React.FC = () => {
} }
// 停止录制 // 停止录制
const stopRecorderMedia = async (): Promise<void> => { const stopRecorderMedia = async (): Promise<void> => {
if (recorder) { setRecorder((res: any) => {
await recorder.stop(); if (res) {
} res.stop();
if (mediaStream) { }
await mediaStream.getTracks().forEach((track: any) => { return res
track.stop() })
}); setMediaStream((res: any) => {
} if (res) {
setRecorder('') res.getTracks().forEach((track: any) => {
setMediaStream('') track.stop()
});
}
return res
})
} }
// 退出房间 // 退出房间
const leaveChannel = async (bool: boolean = true): Promise<void> => { const leaveChannel = async (bool: boolean = true): Promise<void> => {