yangjie #45
|
|
@ -42,6 +42,7 @@ const Meeting: React.FC = () => {
|
|||
const singInRef = useRef<any>();
|
||||
const userNameRef = useRef<any>();
|
||||
const [isClicked, setIsClicked] = useState(false);
|
||||
const [isClickedMediaSteam, setIsClickedMediaSteam] = useState(false);
|
||||
const [statusList, setStatusList] = useState({
|
||||
userList: false,
|
||||
userChatList: false,
|
||||
|
|
@ -433,7 +434,7 @@ const Meeting: React.FC = () => {
|
|||
setTimeout(async () => {
|
||||
const setting = await JSON.parse(storage.getItem('setting') as string);
|
||||
const stateInfo = await JSON.parse(storage.getItem('stateInfo') as string);
|
||||
if (stateInfo && setting.isRecordingTips) {
|
||||
if (stateInfo && setting.isRecordingTips && location.href.indexOf('/meeting') !== -1) {
|
||||
setRecorder((data: any) => {
|
||||
if (!data) {
|
||||
setIsScreenCapture(bool => {
|
||||
|
|
@ -918,6 +919,18 @@ const Meeting: React.FC = () => {
|
|||
return () => clearTimeout(timer);
|
||||
}, [isClicked]);
|
||||
|
||||
useEffect(() => {
|
||||
let timer: NodeJS.Timeout;
|
||||
|
||||
if (isClickedMediaSteam) {
|
||||
timer = setTimeout(() => {
|
||||
setIsClickedMediaSteam(false)
|
||||
}, 3000);
|
||||
}
|
||||
|
||||
return () => clearTimeout(timer);
|
||||
}, [isClickedMediaSteam]);
|
||||
|
||||
useEffect(() => {
|
||||
const elements = document.querySelectorAll('.intersectionObserver-view');
|
||||
if (elements.length && currentVideoId) {
|
||||
|
|
@ -1521,6 +1534,8 @@ const Meeting: React.FC = () => {
|
|||
case '录制':
|
||||
const setting = await JSON.parse(storage.getItem('setting') as string);
|
||||
try {
|
||||
if (!isClickedMediaSteam) {
|
||||
setIsClickedMediaSteam(true)
|
||||
await fs.access(setting.recordingFilesPath, fs.constants.F_OK);
|
||||
footerListTemplate[itemIndex][rowIndex].title = '录制中';
|
||||
footerListTemplate[itemIndex][rowIndex].active = true;
|
||||
|
|
@ -1567,6 +1582,9 @@ const Meeting: React.FC = () => {
|
|||
});
|
||||
setRecorder(mediaRecorder);
|
||||
});
|
||||
} else {
|
||||
message.error('录制太频繁了,请稍后重试!');
|
||||
}
|
||||
} catch (error: any) {
|
||||
if (error.code === 'ENOENT') {
|
||||
message.error({
|
||||
|
|
@ -1582,10 +1600,14 @@ const Meeting: React.FC = () => {
|
|||
|
||||
break;
|
||||
case '录制中':
|
||||
if (isClickedMediaSteam) {
|
||||
message.error('录制时长不足3秒,请稍后重试!');
|
||||
} else {
|
||||
footerListTemplate[itemIndex][rowIndex].title = '录制'
|
||||
footerListTemplate[itemIndex][rowIndex].active = false
|
||||
setFooterList(footerListTemplate)
|
||||
stopRecorderMedia()
|
||||
}
|
||||
break;
|
||||
case '共享文件':
|
||||
sharedFilesModelRef.current.getData()
|
||||
|
|
|
|||
Loading…
Reference in New Issue