优化点击切换视频来源

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();
}
})
// 退出房间
app.on('will-quit', async (event) => {
await mainWindow.webContents.send('quitAndInstall');
});
app.on('ready', () => {
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) {
// 共享屏幕
setCurrentLookUserStatus(2)
setCurrentVideoId('2')
setTimeout(() => {
agora.setupLocalVideo({
uid: Number(res.data),
@ -353,7 +352,6 @@ const Meeting: React.FC = () => {
}, 1000);
} else {
setCurrentLookUserStatus(1)
setCurrentVideoId('1')
// 摄像头
setTimeout(() => {
agora.setupLocalVideo({
@ -368,7 +366,6 @@ const Meeting: React.FC = () => {
if (String(res.data).length === 9) {
// 摄像头
setCurrentLookUserStatus(3)
setCurrentVideoId('3')
setTimeout(() => {
agora.setupRemoteVideoJoin({
uid: Number(res.data),
@ -379,7 +376,6 @@ const Meeting: React.FC = () => {
} else {
// 共享屏幕
setCurrentLookUserStatus(4)
setCurrentVideoId('4')
setTimeout(() => {
agora.setupRemoteVideoJoin({
uid: Number(res.data),
@ -714,14 +710,12 @@ const Meeting: React.FC = () => {
return ''
}
// 设置单个视频样式
const setMeetingContentSwiperCardClass = (uid: string): string => {
if ((currentVideoId === uid) && (meetingMode === 'StandardMode' || meetingMode === 'SpeakerMode')) {
switch (meetingMode) {
case 'StandardMode':
return styles.meetingContentSwiperCardStandardMode
case 'SpeakerMode':
return styles.meetingContentSwiperCardSpeakerMode
}
const setMeetingContentSwiperCardClass = (): string => {
switch (meetingMode) {
case 'StandardMode':
return styles.meetingContentSwiperCardStandardMode
case 'SpeakerMode':
return styles.meetingContentSwiperCardSpeakerMode
}
return ''
}
@ -782,7 +776,7 @@ const Meeting: React.FC = () => {
return (
item.isRoom ?
<div
className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass(item.uid)}`}
className={`${styles.meetingContentSwiperCard}`}
key={index}
onClick={() => {
setCurrentVideoId(item.uid)
@ -800,7 +794,7 @@ const Meeting: React.FC = () => {
}
)}
{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.meetingContentSwiperCardVdeioLoading}>
<Avatar name={currentLookUserAccount.userName} />
@ -810,7 +804,7 @@ const Meeting: React.FC = () => {
{currentLookUserAccount.enableCamera ? null : meetingContentError(currentVideoId, currentLookUserAccount)}
</div> : null}
{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.meetingContentSwiperCardVdeioLoading}>
<Avatar name={currentLookUserAccount.userName} />
@ -820,7 +814,7 @@ const Meeting: React.FC = () => {
{currentLookUserAccount.enableCamera ? null : meetingContentError(currentVideoId, currentLookUserAccount)}
</div> : null}
{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.meetingContentSwiperCardVdeioLoading}>
<Avatar name={currentLookUserAccount.userName} />
@ -830,7 +824,7 @@ const Meeting: React.FC = () => {
{currentLookUserAccount.enableCamera ? null : meetingContentError(currentVideoId, currentLookUserAccount)}
</div> : null}
{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.meetingContentSwiperCardVdeioLoading}>
<Avatar name={currentLookUserAccount.userName} />