优化点击切换视频来源

This commit is contained in:
yj 2024-08-08 17:55:47 +08:00
parent 05265a3de6
commit c61f3b735a
2 changed files with 15 additions and 17 deletions

View File

@ -125,6 +125,10 @@ app.on('session-created', (session) => {
mainWindow.focus(); mainWindow.focus();
} }
}) })
// 退出房间
app.on('will-quit', async (event) => {
await mainWindow.webContents.send('quitAndInstall');
});
app.on('ready', () => { app.on('ready', () => {
const env = process.argv.find((arg) => arg.startsWith('--env='))?.split('=')[1]; const env = process.argv.find((arg) => arg.startsWith('--env='))?.split('=')[1];

View File

@ -342,7 +342,6 @@ const Meeting: React.FC = () => {
if (String(res.data).length === 9) { if (String(res.data).length === 9) {
// 共享屏幕 // 共享屏幕
setCurrentLookUserStatus(2) setCurrentLookUserStatus(2)
setCurrentVideoId('2')
setTimeout(() => { setTimeout(() => {
agora.setupLocalVideo({ agora.setupLocalVideo({
uid: Number(res.data), uid: Number(res.data),
@ -353,7 +352,6 @@ const Meeting: React.FC = () => {
}, 1000); }, 1000);
} else { } else {
setCurrentLookUserStatus(1) setCurrentLookUserStatus(1)
setCurrentVideoId('1')
// 摄像头 // 摄像头
setTimeout(() => { setTimeout(() => {
agora.setupLocalVideo({ agora.setupLocalVideo({
@ -368,7 +366,6 @@ const Meeting: React.FC = () => {
if (String(res.data).length === 9) { if (String(res.data).length === 9) {
// 摄像头 // 摄像头
setCurrentLookUserStatus(3) setCurrentLookUserStatus(3)
setCurrentVideoId('3')
setTimeout(() => { setTimeout(() => {
agora.setupRemoteVideoJoin({ agora.setupRemoteVideoJoin({
uid: Number(res.data), uid: Number(res.data),
@ -379,7 +376,6 @@ const Meeting: React.FC = () => {
} else { } else {
// 共享屏幕 // 共享屏幕
setCurrentLookUserStatus(4) setCurrentLookUserStatus(4)
setCurrentVideoId('4')
setTimeout(() => { setTimeout(() => {
agora.setupRemoteVideoJoin({ agora.setupRemoteVideoJoin({
uid: Number(res.data), uid: Number(res.data),
@ -714,14 +710,12 @@ const Meeting: React.FC = () => {
return '' return ''
} }
// 设置单个视频样式 // 设置单个视频样式
const setMeetingContentSwiperCardClass = (uid: string): string => { const setMeetingContentSwiperCardClass = (): string => {
if ((currentVideoId === uid) && (meetingMode === 'StandardMode' || meetingMode === 'SpeakerMode')) { switch (meetingMode) {
switch (meetingMode) { case 'StandardMode':
case 'StandardMode': return styles.meetingContentSwiperCardStandardMode
return styles.meetingContentSwiperCardStandardMode case 'SpeakerMode':
case 'SpeakerMode': return styles.meetingContentSwiperCardSpeakerMode
return styles.meetingContentSwiperCardSpeakerMode
}
} }
return '' return ''
} }
@ -782,7 +776,7 @@ const Meeting: React.FC = () => {
return ( return (
item.isRoom ? item.isRoom ?
<div <div
className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass(item.uid)}`} className={`${styles.meetingContentSwiperCard}`}
key={index} key={index}
onClick={() => { onClick={() => {
setCurrentVideoId(item.uid) setCurrentVideoId(item.uid)
@ -800,7 +794,7 @@ const Meeting: React.FC = () => {
} }
)} )}
{currentLookUserStatus === 1 && currentLookUserAccount ? {currentLookUserStatus === 1 && currentLookUserAccount ?
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass('1')}`} onClick={() => setCurrentVideoId('1')}> <div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()}`}>
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-camera-primary'> <div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-camera-primary'>
{<div className={styles.meetingContentSwiperCardVdeioLoading}> {<div className={styles.meetingContentSwiperCardVdeioLoading}>
<Avatar name={currentLookUserAccount.userName} /> <Avatar name={currentLookUserAccount.userName} />
@ -810,7 +804,7 @@ const Meeting: React.FC = () => {
{currentLookUserAccount.enableCamera ? null : meetingContentError(currentVideoId, currentLookUserAccount)} {currentLookUserAccount.enableCamera ? null : meetingContentError(currentVideoId, currentLookUserAccount)}
</div> : null} </div> : null}
{currentLookUserStatus === 2 && currentLookUserAccount ? {currentLookUserStatus === 2 && currentLookUserAccount ?
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass('2')}`} onClick={() => setCurrentVideoId('2')}> <div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()}`}>
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-screen'> <div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-screen'>
<div className={styles.meetingContentSwiperCardVdeioLoading}> <div className={styles.meetingContentSwiperCardVdeioLoading}>
<Avatar name={currentLookUserAccount.userName} /> <Avatar name={currentLookUserAccount.userName} />
@ -820,7 +814,7 @@ const Meeting: React.FC = () => {
{currentLookUserAccount.enableCamera ? null : meetingContentError(currentVideoId, currentLookUserAccount)} {currentLookUserAccount.enableCamera ? null : meetingContentError(currentVideoId, currentLookUserAccount)}
</div> : null} </div> : null}
{currentLookUserStatus === 3 && currentLookUserAccount ? {currentLookUserStatus === 3 && currentLookUserAccount ?
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass('3')}`} onClick={() => setCurrentVideoId('3')}> <div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()}`}>
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-remote-camera'> <div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-remote-camera'>
<div className={styles.meetingContentSwiperCardVdeioLoading}> <div className={styles.meetingContentSwiperCardVdeioLoading}>
<Avatar name={currentLookUserAccount.userName} /> <Avatar name={currentLookUserAccount.userName} />
@ -830,7 +824,7 @@ const Meeting: React.FC = () => {
{currentLookUserAccount.enableCamera ? null : meetingContentError(currentVideoId, currentLookUserAccount)} {currentLookUserAccount.enableCamera ? null : meetingContentError(currentVideoId, currentLookUserAccount)}
</div> : null} </div> : null}
{currentLookUserStatus === 4 && currentLookUserAccount ? {currentLookUserStatus === 4 && currentLookUserAccount ?
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass('4')}`} onClick={() => setCurrentVideoId('4')}> <div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()}`}>
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-remote-screen'> <div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-remote-screen'>
<div className={styles.meetingContentSwiperCardVdeioLoading}> <div className={styles.meetingContentSwiperCardVdeioLoading}>
<Avatar name={currentLookUserAccount.userName} /> <Avatar name={currentLookUserAccount.userName} />