说话人文字显示优化

This commit is contained in:
yj 2024-10-18 13:44:17 +08:00
parent 0d9d963593
commit e362145da9
2 changed files with 13 additions and 5 deletions

View File

@ -1,17 +1,24 @@
import styles from '@/page/Meeting/CurrentSpeakUserWindow/index.module.scss'
import { storage } from '@/utils';
import { useEffect, useState } from "react";
const CurrentSpeakUserWindow: React.FC = () => {
const [inputValue, setInputValue] = useState<string>('')
const [inputValue, setInputValue] = useState('')
const [user, setUser] = useState<any>({});
const [isMeSpeack, setIsMeSpeack] = useState(false)
const channel = new BroadcastChannel('meeting_channel');
const userInfo = JSON.parse(storage.getItem('user') as string)
useEffect(() => {
setUser(userInfo)
channel.onmessage = function (event) {
const { type, currentSpeakUser } = event.data;
const { type, currentSpeakUser, uidArr } = event.data;
switch (type) {
case 'currentSpeakUser':
if (currentSpeakUser.length) {
setInputValue(currentSpeakUser.join('; '))
setIsMeSpeack(uidArr.find((item: any) => item === 0) ? true : false)
} else {
setInputValue('')
setIsMeSpeack(false)
}
break;
}
@ -22,8 +29,8 @@ const CurrentSpeakUserWindow: React.FC = () => {
return (
<>
<div className={styles.currentSpeakUserWindow}>
<div title={inputValue ? `正在说话: ${inputValue}` : `正在说话:`}>
{inputValue ? `正在说话: ${inputValue}` : `正在说话:`}
<div title={`正在说话:${isMeSpeack ? user.userName : ''} ${inputValue}`}>
{`正在说话:${isMeSpeack ? user.userName : ''} ${inputValue}`}
</div>
</div >
</>

View File

@ -962,11 +962,12 @@ const Meeting: React.FC = () => {
});
}
});
const uidArr = (speakers.filter((item: any) => item.volume)).map(item => item.uid || userInfo.uid) as number[];
const uidArr = (speakers.filter((item: any) => item.volume)) as number[];
const currentSpeakUser = await checkUidsInUsers(uidArr)
channel.postMessage({
type: 'currentSpeakUser',
currentSpeakUser,
uidArr
});
}
},